晋城市凤鸣中学官网:哪位帮我看看我的javascript程序啊?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 06:53:36
我想通过javascript检验一下表单中两次输入的密码是不是一致,以及是否选择了同意协议的单选按钮。但是总是有运行错误提示,那位帮我看看啊?不盛感激!!!
下面是我的程序代码:

<html>
<body>
<form name="form1" method="post" action="" onSubmit="return dosubmit(this)">
<table width="427" border="0" align="center" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
<tr>
<td width="172"> 用户名</td>
<td width="169"><input type="text" name="username"></td>
</tr>
<tr>
<td> 密码</td>
<td><input type="password" name="key1"></td>
</tr>
<tr>
<td> 重复密码</td>
<td><input type="password" name="key2"></td>
</tr>
<tr>
<td><input type="radio" name="tongyi" value="radiobutton" checked>
我同意相关协议</td>
<td><input type="radio" name="butongyi" value="radiobutton">
我不同意相关协议</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="提交"></td>
<td><input type="reset" name="Submit2" value="重置"></td>
</tr>
</table>
</form>
<script language="javascript">
function dosubmit(frm)
{
if(frm.key1.value != frm.key2.value)
{
alert("两次输入的密码不一致,请重新输入!");
return false;
}
else if(! frm.tongyi.checked)
{
alert("您必须同意相关协议才可以申请用户!");
return false;
}
else
return true;

}
</script>
</body>
</html>

<html>
<script language="javascript">
function dosubmit()
{
if(document.frm.key1.value != document.frm.key2.value)
{
alert("两次输入的密码不一致,请重新输入!");
return false;
}
if(! document.frm.tongyi.checked)
{
alert("您必须同意相关协议才可以申请用户!");
return false;
}
}
</script>
<body>
<form name="frm" method="post" action="" onSubmit="return dosubmit()">
<table width="427" border="0" align="center" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
<tr>
<td width="172"> 用户名</td>
<td width="169"><input type="text" name="username"></td>
</tr>
<tr>
<td> 密码</td>
<td><input type="password" name="key1"></td>
</tr>
<tr>
<td> 重复密码</td>
<td><input type="password" name="key2"></td>
</tr>
<tr>
<td><input type="radio" name="tongyi" value="radiobutton" checked>
我同意相关协议</td>
<td><input type="radio" name="butongyi" value="radiobutton">
我不同意相关协议</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="提交"></td>
<td><input type="reset" name="Submit2" value="重置"></td>
</tr>
</table>
</form>

</body>
</html>

以上的代码可以运行!!
1、编程习惯:脚本代码放在上面,网页要编译的
2、输入法要用半角,你的“;”都是全角的

function dosubmit(frm)
{
if(document.form1.key1.value != document.form1.key2.value)
{
alert("两次输入的密码不一致,请重新输入!");
return false;
}else{return true}

if(document.form1.tongyi.checked){return true; }
else
{
alert("您必须同意相关协议才可以申请用户!");
return false;
}
}

2个地方
1.同意应该用复选框
<input type="checkbox" value="1" name="tongyi">
2.
else if(! frm.tongyi.checked)
出现了逻辑错误,应该是if才对

首先 ...
1...你的 alert后面的 ";" 好像是用全角的 ...要换 ....

alert("您必须同意相关协议才可以申请用户!");
改成:
alert("您必须同意相关协议才可以申请用户!");
2....两个radio 控件的name 属性要求一致

<td><input type="radio" name="tongyi" value="radiobutton" checked>
我同意相关协议</td>
<td><input type="radio" name="butongyi" value="radiobutton">
我不同意相关协议</td>

3....要想取到radio 是否被选中 .. 需要给"同意"的radio附加id属性并且给与值...取控件的时候用

<td><input id = "radioTongyi" type="radio" name="tongyi" value="radiobutton" checked>
我同意相关协议</td>

if(! frm.radioTongyi.checked)
{
alert("您必须同意相关协议才可以申请用户!");
return false;
}