强制性自由格式文本字段

时间:2014-03-28 21:54:09

标签: javascript netsuite

我有在线表单的单选按钮。在[URL =“https://netsuite.custhelp.com/app/answers/detail/a_id/14704/”]单选按钮[/ URL]的NS帮助页面之后,我将我的字段设为自由格式文本。我转到在线表单记录(设置 - >营销 - >在线客户表单)并尝试强制使用单选按钮字段。虽然它对Mandatory保持“是”,但在处理表单时它似乎不适用它。

我是否需要做一些事情来强制使用自由格式文本字段?

2 个答案:

答案 0 :(得分:0)

我不认为单选按钮可以强制使用,因为它们只保留是/否值。如果你没有选择任何东西,它将默认为否。这与复选框的情况相同。

对于必填字段,我认为系统会查找空值或空值。

答案 1 :(得分:0)

NetSuite的Mandatory似乎在表单元素(单选按钮)中查看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 Answers: Attach Script to Form)。

有关在NetSuite中创建单选按钮的帮助,请访问NetSuite Answers: Use Radio Button values on Online HTML forms