Javascript 为什么此表单在单击“提交”按钮时提交 var geid=函数(x){ var元素=document.getElementById(x); 返回元素; } 函数submitForm(){ var password=geid('password')。值; var passwordConfirm=geid('passwordConfirm'); //确认密码匹配非常重要 //还需要在PHP中对其进行验证> else if(密码==“”){ registerMessage.innerHTML=“请输入您的密码。”; 返回false; } else if(passwordConfirm==“”){ registerMessage.innerHTML=“请确认您的密码。”; 返回false; } else if(passwordConfirm!=密码){ registerMessage.innerHTML=“您的密码不匹配。”; 返回false; } 否则{ registerMessage.innerHTML=“带您到您的个人资料,请稍等…”; document.forms['registerform'].submit(); } } 密码 确认密码
如果,则不能从Javascript 为什么此表单在单击“提交”按钮时提交 var geid=函数(x){ var元素=document.getElementById(x); 返回元素; } 函数submitForm(){ var password=geid('password')。值; var passwordConfirm=geid('passwordConfirm'); //确认密码匹配非常重要 //还需要在PHP中对其进行验证> else if(密码==“”){ registerMessage.innerHTML=“请输入您的密码。”; 返回false; } else if(passwordConfirm==“”){ registerMessage.innerHTML=“请确认您的密码。”; 返回false; } else if(passwordConfirm!=密码){ registerMessage.innerHTML=“您的密码不匹配。”; 返回false; } 否则{ registerMessage.innerHTML=“带您到您的个人资料,请稍等…”; document.forms['registerform'].submit(); } } 密码 确认密码,javascript,Javascript,如果,则不能从开始;如果 <script type="text/javascript"> var geid = function(x) { var element = document.getElementById(x); return element; } function submitForm(){ var password = geid('password').value; var passwordConfir
开始;如果
<script type="text/javascript">
var geid = function(x) {
var element = document.getElementById(x);
return element;
}
function submitForm(){
var password = geid('password').value;
var passwordConfirm = geid('passwordConfirm');
//THIS IS OF HIGH IMPORTANCE THAT THIS CONFIRM PASSWORD MATCHES
//WILL NEED TO VALIDATE IT IN THE PHP AS WELL>
else if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
else if (passwordConfirm == "") {
registerMessage.innerHTML = "Please confirm your password.";
return false;
}
else if (passwordConfirm != password) {
registerMessage.innerHTML = "Your passwords don't match.";
return false;
}
else {
registerMessage.innerHTML = "Taking you to your profile, please wait a moment...";
document.forms['registerform'].submit();
}
}
<form method="post" action="register.php" id="registerform" onsubmit="return submitForm()">
<label for="password" class="registerLabel">Password</label>
<input type="password" name="password" id="password" class="registerText" /> <br />
<label for="passwordConfirm" class="registerLabel">Confirm Password</label>
<input type="password" name="passwordConfirm" id="passwordConfirm" class="registerText" /> <br />
<div class="submitMessage">
<input type="submit" id="submit" name="submit" value="Register" class="registerButton cleangray" /><br />
<div id="registerMessage"><?php echo $error ?></div>
</div>
<div class="clear"></div>
</form>
这将阻止任何验证代码运行,并使用标准提交机制提交表单
这也不是进行验证的最佳方式。您可以构建一个消息字符串并一次性将它们全部报告回来,而不是在每次错误时返回。这样,用户就知道了所有的错误-您当前的方法将只设置一条消息。如果,则不能从
开始;如果
<script type="text/javascript">
var geid = function(x) {
var element = document.getElementById(x);
return element;
}
function submitForm(){
var password = geid('password').value;
var passwordConfirm = geid('passwordConfirm');
//THIS IS OF HIGH IMPORTANCE THAT THIS CONFIRM PASSWORD MATCHES
//WILL NEED TO VALIDATE IT IN THE PHP AS WELL>
else if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
else if (passwordConfirm == "") {
registerMessage.innerHTML = "Please confirm your password.";
return false;
}
else if (passwordConfirm != password) {
registerMessage.innerHTML = "Your passwords don't match.";
return false;
}
else {
registerMessage.innerHTML = "Taking you to your profile, please wait a moment...";
document.forms['registerform'].submit();
}
}
<form method="post" action="register.php" id="registerform" onsubmit="return submitForm()">
<label for="password" class="registerLabel">Password</label>
<input type="password" name="password" id="password" class="registerText" /> <br />
<label for="passwordConfirm" class="registerLabel">Confirm Password</label>
<input type="password" name="passwordConfirm" id="passwordConfirm" class="registerText" /> <br />
<div class="submitMessage">
<input type="submit" id="submit" name="submit" value="Register" class="registerButton cleangray" /><br />
<div id="registerMessage"><?php echo $error ?></div>
</div>
<div class="clear"></div>
</form>
这将阻止任何验证代码运行,并使用标准提交机制提交表单
这也不是进行验证的最佳方式。您可以构建一个消息字符串并一次性将它们全部报告回来,而不是在每次错误时返回。这样,用户就知道所有的错误——您当前的方法只会设置一条消息。因为您在JavaScript中有错误,所以您使用的是
else if
,而没有先定义if
。由于此错误,所有JavaScript代码都会失败
改变
if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
到
工作演示
顺便说一句,在你的代码中,HTML在
标记中,不确定这是否是你的错误。必须先关闭
标记,然后才能打开
标记。因为JavaScript中有错误,所以在使用else if
时,没有先定义if
。由于此错误,所有JavaScript代码都会失败
改变
if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
到
工作演示
顺便说一句,在你的代码中,HTML在
标记中,不确定这是否是你的错误。您必须先关闭
标签,然后才能打开
标签。要使这成为一个好问题,您应该解释您认为不应提交表单的原因。代码转储不是一个问题要使这成为一个好问题,您应该解释为什么您认为表单不应该提交。代码转储不是一个问题更具体地说,此解析错误会阻止函数运行,因此不会调用任何return false
;但是,表单提交仍在进行,因为该机制没有与Javascript耦合。@Tomalak Geret'kal:我只是在更新我的答案,因为你正在写评论:)@Tomalak Geret'kal:为编辑干杯-sleepy Friday morning。更具体地说,此解析错误阻止函数运行,因此不会调用任何return false
;然而,表单提交仍然在进行,因为该机制没有与Javascript耦合。@Tomalak-Geret'kal:我只是在更新我的答案,因为你在写评论:)@Tomalak-Geret'kal:为编辑干杯-困倦的周五早上。