表单仅使用javascript验证一个字段

表单仅使用javascript验证一个字段,javascript,forms,validation,Javascript,Forms,Validation,我正在尝试制作一个简单的注册表单,确保在提交之前正确输入用户名和密码。这是我的表格: <form id="register" name="register" action="" method="POST" onsubmit="return validate_account_creation(this)"> <label> Username <input type="text" name="username" /> </l

我正在尝试制作一个简单的注册表单,确保在提交之前正确输入用户名和密码。这是我的表格:

<form id="register" name="register" action="" method="POST" onsubmit="return validate_account_creation(this)">

    <label> Username
        <input type="text" name="username" />
    </label>

    <label> Password
        <input type="text" name="password" />
    </label>            

    <input type="submit" name="submit" value="Submit" class="button"/>

</form>

username函数工作正常,每次都会验证它。但是,如果用户名正确,则表单将提交。第二个功能从未激活。如果第一个函数没有返回任何内容,那么是否应该调用第二个函数并验证第二个字段?

这是返回语句。
return
中止函数的其余部分并返回结果,因此您的验证应该如下所示:

Javascript

function validate_account_creation(form) {

    var username = validate_username(form.username.value);
    var password = validate_password(form.password.value);

    return username && password; // if both are true, submit form

}

如果您不
返回函数中的任何内容,它将返回
未定义的内容。它应该在validate\u account\u creation()函数(多次返回)中捕获死代码。为什么不
返回validate\u username(form.username.value)和&validate\u password(form.password.value)
?这是完全一样的,我只是使用变量使它更可读。
function validate_account_creation(form) {

    var username = validate_username(form.username.value);
    var password = validate_password(form.password.value);

    return username && password; // if both are true, submit form

}