Javascript 提交don和x27时的表格验证;行不通

Javascript 提交don和x27时的表格验证;行不通,javascript,php,html,forms,Javascript,Php,Html,Forms,大家好,我正在阅读如何验证html表单,我所有的验证器客户端都在使用模式和类型。问题是当我按下submit时,javascript验证不会运行。这是我的代码: <script language="javascript"> function validateForm() { var xa = document.forms["regform"]["password"].value; var xb = document.forms["regform"]["password

大家好,我正在阅读如何验证html表单,我所有的验证器客户端都在使用模式和类型。问题是当我按下submit时,javascript验证不会运行。这是我的代码:

<script language="javascript">

function validateForm()
{
    var xa = document.forms["regform"]["password"].value;
    var xb = document.forms["regform"]["password2"].value;
    var xc = document.forms["regform"]["email"].value;
    var xd = document.forms["regform"]["email2"].value;
    if (xa == xb && xc == xd){
        return true; }
    else{ return false; alert("Please enter a valid captcha code");}
}

$(document).ready(function(e) {
    try {
    $("body select").msDropDown();
    } catch(e) {
    alert(e.message);
    }
    });

</script>

函数validateForm()
{
var xa=document.forms[“regform”][“password”].value;
var xb=document.forms[“regform”][“password2”].value;
var xc=document.forms[“regform”][“email”].value;
var xd=document.forms[“regform”][“email2”].value;
如果(xa==xb&&xc==xd){
返回true;}
else{return false;alert(“请输入有效的验证码”);}
}
$(文档).ready(函数(e){
试一试{
$(“正文选择”).msDropDown();
}捕获(e){
警报(e.message);
}
});
他们的表格如下:

<form name="regform" onsubmit="return validateForm();" action="actions/register_acc.php" method="post">

<input type="password" name="password" class="input-style" required="required">
<input type="password2" name="password" class="input-style" required="required">

<input name="email" class="input-style" placeholder="your@email.com" required="required" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$">
<input name="email2" class="input-style" placeholder="your@email.com" required="required" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$">

<input type="submit" value="ok">

</form>

在表格中,我还有以下内容:

<select name="selectname" id="webmenu">
<option value="1">1</option>
<option value="2">2</option>
</select>

1.
2.
在头部:

<script src="js/msdropdown/jquery-1.3.2.min.js" type="text/javascript"></script>
        <script src="js/msdropdown/jquery.dd.min.js" type="text/javascript"></script>

问题在于
validateForm
方法本身,特别是
else
块。在调用
警报之前,您将返回
false
。调换两个通话,您会看到出现
警报
消息

为了清楚起见,我会更改警报框中的消息,因为它与您正在验证的字段没有直接关系

function validateForm()
{
  var xa = document.forms["regform"]["password"].value;
  var xb = document.forms["regform"]["password2"].value;
  var xc = document.forms["regform"]["email"].value;
  var xd = document.forms["regform"]["email2"].value;
  if (xa == xb && xc == xd){
    return true; 
  }
  else { 
    alert("Please enter a valid captcha code");
    return false;
  }
}

查看此

您是否检查了开发人员控制台?你什么意思?不工作?你看不到警报-因此你不会因为
返回false
而停止任何其他函数的执行。它返回的总是true
密码2
不是有效的
输入类型。已经解决了这个问题,我只是在stackoverflow上复制时搞砸了。不是这样。我会尝试删除
返回
,只提供函数