我有在线表格的单选按钮。在单选按钮/URL的URL="https://netsuite.custhelp.com/app/answers/detail/a_id/14704/"NS帮助页面之后,我使我的字段成为自由形式的文本。我去了在线表单记录(安装,->,市场营销,->在线客户表单),并试图使单选按钮字段成为强制性的。虽然它将“是”保留为强制性,但在我处理表单时,它似乎没有应用它。
有什么事情是我必须做的,使自由格式文本字段强制性的?
发布于 2014-03-31 19:27:40
NetSuite的强制命令似乎是查看表单元素(单选按钮)中的Value属性,它可能正在获取组中第一个单选按钮的值,即使没有选中,也会看到其中有一些内容。因此,我使用HTML5元素和Javascript解决了这个问题。我回答我自己的问题是为了帮助其他人:
HTML5方法:
简单的方法是在HTML5输入字段中有一个名为"required“的新属性。只需将其添加到输入标记的末尾,就会使字段成为必需的。任何符合HTML5的浏览器都会处理这个问题。例如:
<input value="Very Satisfied" name="custrecord208" type="radio" id="custrecord208" class="radio1" required>Very Satisfied Javascript方法:
不幸的是,并不是所有的用户都使用最新的浏览器(HTML5兼容的),这让开发人员非常失望。下面是我用Javascript为这个特定问题编写的代码。它可能不是最干净的,但它完成了工作。
function saveRecord_validation(){
//array of the id's you know you need to go through
var a_custRecNames = ['custrecord184', 'custrecord185', 'custrecord186', 'custrecord187', 'custrecord188'];
var s_quesNums="";
var isFormValid = true;
var isRadioChecked = false;
for( var i = 0; i < a_custRecNames.length; i++ ) {//loop through each mandatory customRecord
var radios = document.getElementsByName(a_custRecNames[i]); //get the radio buttons for that question
//reset isRadioChecked for each question
isRadioChecked = false;
for (var j = 0, length = radios.length; j < length; j++) {//loop through each radio button
if (radios[j].checked) {
// only one radio can be logically checked, don't check the rest
isRadioChecked = true;
break;
}
}
if(!isRadioChecked){
//cleaning up the output just a little.
s_quesNums = ((i+1) < a_custRecNames.length) ? s_quesNums.concat(i+1).concat(", ") : s_quesNums.concat(i+1)+".";
isFormValid = false;
}
}
if(!isFormValid){
alert( "Please answer question(s) "+s_quesNums);
return false;
}
return true;
} 将其添加到NetSuite中的联机表单中(有关帮助,请访问NetSuite答案:将脚本附加到表单)。
有关在NetSuite中创建单选按钮的帮助,请首先访问NetSuite答案:在联机HTML上使用Radio值
发布于 2014-03-29 11:08:45
我不认为单选按钮是强制性的,因为它们只包含一个Yes/No值。如果不选择任何内容,则默认为否。复选框的情况也是如此。
对于强制字段,我认为系统会查找空值或空值。
https://stackoverflow.com/questions/22723838
复制相似问题