如何根据单选按钮的选择纠正验证?

时间:2011-06-28 17:24:38

标签: javascript radio-button validation

我有一个验证场景,我有两个单选按钮。然后我有两个输入文本字段。

如果选择了第一个单选按钮,则用户只需在第一个字段中输入数据。如果选择第二个单选按钮,则用户必须在第一个字段中输入数据,在第二个字段中输入日期。

现在,页面加载时默认选择第一个单选按钮。如果用户未选择任何一个按钮在第一个字段中输入任何内容,则会在提交时发生验证错误。

现在,如果选择了第二个单选按钮,并且用户在第一个字段中输入数据而未在第二个字段中输入日期,则会发生验证错误。

我遇到的问题是,如果用户在第一个字段中输入数据但未在第二个字段中输入日期,则选择第一个按钮时会发生验证错误。这不应该发生。如果选择第一个按钮,则发生验证错误的唯一方法是,如果在第一个字段中输入了错误数据,或者在第一个字段中没有输入数据。用户无需在第二个字段中输入日期。那么如何编写JavaScript来反映这些条件呢?

以下是jsfiddle的链接: http://jsfiddle.net/rnnzn/

1 个答案:

答案 0 :(得分:1)

这在小提琴中很多,而且似乎在那里不起作用。

我认为你认为无线电输入的工作方式与他们不同。不要检查控件名称的值,检查是否选中了特定的无线电。

例如:

if(document.getElementById('myform').radioName[0].checked){
  //validate based on first radio selection
}eles{
  //validate based on second radio selection
}

要记住的重要部分是收音机和复选框是数组,它们不像文本和选择输入那样容易处理。