需要单选按钮 - JavaScript验证

时间:2011-05-24 20:00:37

标签: javascript

我对JavaScript一无所知。 我不得不在HTML表单中添加一组两个单选按钮,其中包含值" yes"和"不"。 现在我需要制作它们" required" 表单和JavaScript中还有其他几个必填字段:

    <SCRIPT LANGUAGE="JavaScript">
<!--
reqd_fields = new Array();
reqd_fields[0] = "name";
reqd_fields[1] = "title";
reqd_fields[2] = "company";
reqd_fields[3] = "address";
reqd_fields[4] = "city";
reqd_fields[5] = "state";
reqd_fields[6] = "zip";
reqd_fields[7] = "phone";
reqd_fields[8] = "email";
reqd_fields[9] = "employee";

function validate(form_obj) {
  if (test_required && !test_required(form_obj)) {
    return false;
  }

这是由其他人完成的,而不是我。 我所做的只是将我的字段添加到这个数组中,如下所示:

reqd_fields[10] = "acknowledge";

然而,它似乎并没有起作用。

请指导我,因为我对JavaScript完全无知。

5 个答案:

答案 0 :(得分:4)

指向您网页的链接或HTML示例可以让您更轻松,但我会冒险猜测数组中的值与单选按钮元素的“name”属性相匹配。

如果是这种情况,“确认”应该是两个单选按钮的名称,为了方便起见,应该将“已检查”属性设置为“真”,这样就有一个默认,所以你将获得一个值。

所以,像这样:

<input type="radio" name="acknowledge" value="yes" /> Yes <br/>
<input type="radio" name="acknowledge" value="no" checked="true" /> No <br/>

答案 1 :(得分:3)

为什么不默认选择一个,然后总会选择一个。

答案 2 :(得分:0)

我总是建议使用jQuery validate对我来说比试图重新发明轮子更好

答案 3 :(得分:0)

如果没有看到您的HTML以及验证功能的更多上下文,则不清楚您正在寻找什么,但这里是一个如何从无线电组中请求所选值的示例:

<form name="form1">
  <input type="radio" name="foo"> Foo1<br/>
  <input type="radio" name="foo"> Foo2<br/>
</form>
<script type="text/javascript">
  var oneFooIsSelected = function() {
    var radios = document.form1.foo, i;
    for (i=0; i<radios.length; i++) {
      if (radios[i].checked) {
        return true;
      }
    return false;
  };
</script>

这是working example on jsFiddle

答案 4 :(得分:0)

我知道问题很古老,但这是一个有效的简单解决方案。

<script type="text/javascript">
function checkForm(formname)
{
if(formname.radiobuttonname.value == '') {
alert("Error: Please select a radio button!");
return false;
}
document.getElementById('submit').value='Please wait..';void(0);
return true;
}
</script>

<form name="formname" onsubmit="return checkForm(this)"

<input type="radio" value="radio1" name="radiobuttonname" style="display:inline;"> Radio 1<br>
<input type="radio" value="radio2" name="radiobuttonname" style="display:inline;"> Radio 2<br>

<input type="submit" value="Submit">
</form>