Javascript 验证单选按钮

Javascript 验证单选按钮,javascript,html,Javascript,Html,我正在用php处理一个表单,我也想在客户端添加验证。我阅读了.com关于使用javascript验证单选按钮的教程,并根据其指导原则设置了此示例 a) 为什么不显示警告信息 b) 如何将警报消息替换为一些innerHtml文本 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta cont

我正在用php处理一个表单,我也想在客户端添加验证。我阅读了.com关于使用javascript验证单选按钮的教程,并根据其指导原则设置了此示例

a) 为什么不显示警告信息

b) 如何将警报消息替换为一些innerHtml文本

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>

<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>validateradio</title>


<script type="text/javascript">


function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1)  return btn[cnt].value;
    else          return null;

}




function valButton2(form){

var btn=valButton(form.group1);
if (btn==null){alert('no radio button selected');}
else alert('button value' + btn + 'selected');


}


</script>


</head>


<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" alink="#000088" link="#0000ff" vlink="#ff0000"><br>

<form name="myform">


 <label for="r1"><input type="radio"
name="group1" id="r1" value="1" /> button one</label> 

 <label for="r2"><input type="radio"
name="group1" id="r2" value="2" /> button two</label>

 <label for="r3"><input type="radio"
name="group1" id="r3" value="3" /> button three</label> 


<input type="submit" name="submitit" onclick="valbutton2(myform);" value="Validate" />



</form>



</body></html>

验证者
功能按钮(btn){
var cnt=-1;
对于(变量i=btn.length-1;i>-1;i--){
如果(btn[i].选中){cnt=i;i=-1;}
}
if(cnt>-1)返回btn[cnt].值;
否则返回null;
}
功能按钮2(表格){
var btn=valButton(表group1);
如果(btn==null){alert('未选择单选按钮');}
else警报(“按钮值”+btn+“已选择”);
}

按钮一 按钮二 按钮三
看起来像一个案例问题。提交按钮的onclick处理程序是
valbutton2(myform)
但是您试图调用的函数的名称实际上是
valButton2

关于获取innerHTML,如果不使用框架,可能会有点难看。一种解决方案是向包含相应单选按钮id的标签添加id:

<label for="r1" id="lbl-r1"><input type="radio" name="group1" id="r1" value="1" /> button one</label>

我已经使用jQuery和其他框架很长时间了,现在我对直接使用javascript做这件事有点生疏了,所以这可能会有很大的改进,但你明白了。

看起来像是一个案例问题。提交按钮的onclick处理程序是
valbutton2(myform)
但是您试图调用的函数的名称实际上是
valButton2

关于获取innerHTML,如果不使用框架,可能会有点难看。一种解决方案是向包含相应单选按钮id的标签添加id:

<label for="r1" id="lbl-r1"><input type="radio" name="group1" id="r1" value="1" /> button one</label>

我已经使用jQuery和其他框架很长时间了,现在我对直接使用javascript来实现这一点有点生疏了,所以这可能会有很大的改进,但你明白了。

btw,你有没有使用编辑器来实现这一点?我正在使用ubuntu的gedit,希望得到一些帮助来发现语法问题。有关获取文本的可能方法,请参阅我的更新。我没有使用编辑器,只是通过查看来捕获。顺便问一下,你使用编辑器来捕获吗?我正在使用ubuntu的gedit,希望得到一些帮助来发现语法问题。有关获取文本的可能方法,请参阅我的更新。我没有用编辑器,只是看了看就知道了。