Javascript 比较表单输入值

Javascript 比较表单输入值,javascript,html,forms,Javascript,Html,Forms,我知道在这个主题上有几个线程,事实上我从一个这样的线程中得到了我的代码,但我似乎无法让它运行。我试图使用javascript比较HTML表单中的两个输入框 这是我的JS: <script> function checkform(form1) { if(form1.password.value != form1.passwordConfirm.value) { alert("Passwords must be the same"); fo

我知道在这个主题上有几个线程,事实上我从一个这样的线程中得到了我的代码,但我似乎无法让它运行。我试图使用javascript比较HTML表单中的两个输入框

这是我的JS:

<script>
function checkform(form1)
{
    if(form1.password.value != form1.passwordConfirm.value)
    {
        alert("Passwords must be the same");
        form1.password.focus();
        return true;
    } else {return false;}
}
</script>

功能检查表(表格1)
{
if(form1.password.value!=form1.passwordConfirm.value)
{
警报(“密码必须相同”);
form1.password.focus();
返回true;
}else{return false;}
}
以下是HTML:

<!Doctype html>
<script type="C:/wamp/www/Table/" src="javascript.js"></script>
<form name="form1" action="demo_form.asp">
    Username: <input type="text" name="usrname" required oninvalid="this.setCustomValidity('Username cannot be empty.')">
    Password: <input type="password" name="password" required oninvalid="this.setCustomValidity('Password cannot be empty')">
    Confirm Password: <input type="password" name="passwordConfirm" required oninvalid="this.setCustomValidity('Password        cannot be empty')"> 
    <input type="submit" value="Submit" onClick="return checkform(form1);">
</form>
</html>

用户名:
密码:
确认密码:
任何帮助都会很棒

谢谢


Mike

您需要为表单分配一个
id
,然后获取该id

替换:

<form name="form1" action="demo_form.asp">
为此:

function checkform(){
    var form1 = document.getElementById('myForm')
您还需要切换return语句,在PW不匹配时返回
false

生成的JS/HTML:

函数检查表(){
var form1=document.getElementById('myForm');
if(form1.password.value!=form1.passwordConfirm.value)
{
警报(“密码必须相同”);
form1.password.focus();
返回false;
}
返回true;
}

用户名:
密码:
确认密码:

注意我是如何删除第二条return语句周围的
else
。不需要。

从onclick中取出
return


onClick=“checkform(form1);”

是否应该将返回值true/false反转为提示:不要将
form1
传递给函数,而是使用
this.form
直接传递正确的dom元素。无需再使用getElementById(对于表单本身)并通过给表单一个名称来反转返回true和False(这是不必要的),该名称会附加到
文档
@elzi:一个容易被覆盖的变量。显式获取表单总是一个好主意。如果他给另一个元素赋予相同的名称属性值,那么表单将如何被覆盖?你从未见过程序员(意外地)重复使用名称吗?仅仅因为意见不同,这真的值得否决吗?
function checkform(form1){
function checkform(){
    var form1 = document.getElementById('myForm')