喜 我想要两个检查两个字段 如果两个字段的值相同,那么它显示一条消息,我有一个代码但是
它不起作用你能告诉我这段代码的用途吗
<script type="text/javascript">
function checkForm(form1){
if(form1.field1.value == form1.field2.value ){
alert(" values are identical");
form1.field1.focus();
return true;
}else{
return false;
}
}
</script>
<form name="form1" method="POST" action="" >
<input type="text" name="field1">
<input type="text" name="field2">
<input type="submit" onClick="return checkform1(this);" >
</form>
答案 0 :(得分:4)
像这样改变你的if条件
if(document.form1.field1.value==document.form1.field2.value)
答案 1 :(得分:2)
您正在呼叫checkform()
,但这并未在任何地方定义。此外,checkform1(this)
使用按钮作为元素form1
,这会将所有内容搞砸。使用this.parentNode
,它将表单作为参数传递。
这是一些有效的代码:
<script>
function checkForm(form1) {
if (form1.field1.value == form1.field2.value) {
alert(" values are identical");
form1.field1.focus();
return true;
} else {
return false;
}
}
</script>
<form name="form1" method="POST" action="" >
<input type="text" name="field1">
<input type="text" name="field2">
<input type="submit" onClick="return checkForm(this.parentNode);" >
</form>
答案 2 :(得分:0)
您需要在表单选择前添加document.
。并且您的方法名称与您从点击事件中调用的方法有误。
我已修复它并在此处添加了一个示例:http://jsfiddle.net/jomanlk/Fu2wJ/1/
function checkForm(form1) {
if (document.form1.field1.value == document.form1.field2.value) {
alert(" values are identical");
document.form1.field1.focus();
return false;
}
else {
return true;
}
}
<form name="form1" method="POST" action="" >
<input type="text" name="field1">
<input type="text" name="field2">
<input type="submit" onClick="return checkForm();" >
</form>
答案 3 :(得分:0)
除了checkForm1
功能不存在之外,主要问题在于
<input type="submit" onClick="return checkform1(this);" >
此处this
指的是input
,而不是form
。
要使代码正常工作,请将函数名称更改为checkForm
和
<input type="submit" onClick="return checkform1(this.form);" >