Php jquery比较两个字段的值

Php jquery比较两个字段的值,php,javascript,jquery,html,css,Php,Javascript,Jquery,Html,Css,嗨,我有一个报名表,它有六个输入字段 html代码 我希望用户输入他的密码两次,以确保他保存它 我的问题是如何检查两个密码输入字段是否相等,如果不相等,我想在这两个输入字段的左侧打印一条消息错误 你可以这样做: var pass1 = $('input[name=Password]').val(); var pass2 = $('input[name=RePassword]').val(); if(pass1 != '' && pass1 != pass2) { //sh

嗨,我有一个报名表,它有六个输入字段

html代码 我希望用户输入他的密码两次,以确保他保存它

我的问题是如何检查两个密码输入字段是否相等,如果不相等,我想在这两个输入字段的左侧打印一条消息错误


你可以这样做:

var pass1 = $('input[name=Password]').val();
var pass2 = $('input[name=RePassword]').val();
if(pass1 != '' && pass1 != pass2) {
    //show error
    var error = 'Password confirmation doesn\'t match.';
    $('input[name=Password]').next('span').text(error);
    $('input[name=RePassword]').next('span').text(error);
    errorCount = errorCount + 1;   
}
标签中的for属性的使用方式如下:

<label for="myPasswordField">
    <input type="password" id="myPasswordField" name="Password" />
</label>

检查字段并在没有jQuery的情况下显示错误:

如果页面上有多个表单,甚至只是一个搜索表单,则需要相应地调整document.forms[0]

要在表单中使用此代码,请添加onsubmit=returncheckform;添加到表单标记,如:

<form  id="suform" method="POST" action="signup/newUser" onsubmit="return checkForm();">
然后,在脚本标记中,创建函数checkCode,如果出现问题,该函数将返回false,即停止表单提交:

<script type="text/javascript">
<!--
    function checkCode() {
        if (document.forms[0].Password.value != document.forms[0].RePassword.value) {
            document.forms[0].Password.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
            document.forms[0].RePassword.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
            return false;
        }
    }
//-->
</script>
像这样的


我想这可能行得通

 var password= $('input[name="Password"]').val();
 var repass= $('input[name="RePassword"]').val();

 if(password!=repass){
  var error = 'Password not matching';
       $('input[name="RePassword"]').next('span').text(error);
       $('input[name="Password"]').next('span').text(error);
         errorCount = errorCount + 1;  
  }else if(password=="" || repass==""){
            if(password==""){
        var error = 'Please enter a password.';
       $('input[name="Password"]').next('span').text(error)
         errorCount = errorCount + 1;  
    }else{
           var error = 'Please enter a repassword.';
       $('input[name="RePassword"]').next('span').text(error)
         errorCount = errorCount + 1;  
  }
   }
   }else{
     continue;
    }
你可以这样做



你为什么不使用jquery validate plugintoday超过10个人建议我使用它,但我真的没有时间学习jquery,我对jquery了解很少:讨厌这样的事情发生,首先回答它就行了,我甚至没有得到1票!抱歉@infinity,但您的答案在哪里?请在此处检查我的解决方案:它包含检查空密码pass1!=因此,如果两个密码都为空,它将抛出一个错误。我还建议William为每个表单输入分配一个id,因为他的标签可以有一个for属性指向每个表单输入。但是如何在两个密码输入字段的左侧打印错误消息?标签中的for属性是什么?好的,谢谢,真的谢谢,我在1分钟前得到了完全相同的答案:,我真的很感谢你这将验证一些格式:07888999555,但如果它有空格,它将失败是的人,你是对的,但如何在每个密码输入字段的左侧打印错误消息?当我的演示检查JSFIDLE时?它在那边工作。。。用警报更新它;警报会在用户不相等时显示。不客气。仔细查看已给出的所有解决方案。我的建议是:结合所有的优点,但是我是否调用了js函数并将代码放入其中?在表单上,添加onsubmit=returncheckform;。在标记中,添加带有该代码的函数checkForm,并在结束方括号前的新行}放置代码return false;很酷,我用所有的实现细节和代码更新了帖子。你是唯一的人,是的,它是有效的::谢谢你我会接受你的回答,真的谢谢你这不是可靠的解决方案,检查有问题。谢谢伙计,很乐意帮助@英菲尼迪,你能告诉我出了什么问题吗?因为我是个新手,还在学习。这会很有帮助。您需要检查空密码值,如:password=
    <p>
        <label>Password</label>
        <input type="password" name="Password"/>
        <span class="errorMessage"></span>
    </p>
    <p>
        <label>Re Password</label>
        <input type="password" name="RePassword"/>
        <span class="errorMessage"></span>
    </p>


if ( $("input[type=password][name='Password']").val() == $("input[type=text][name='RePassword']").val(){
    //Do this
}
if (document.forms[0].Password.value != document.forms[0].RePassword.value) {
    document.forms[0].Password.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
    document.forms[0].RePassword.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
}
<form  id="suform" method="POST" action="signup/newUser" onsubmit="return checkForm();">
<script type="text/javascript">
<!--
    function checkCode() {
        if (document.forms[0].Password.value != document.forms[0].RePassword.value) {
            document.forms[0].Password.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
            document.forms[0].RePassword.parentNode.getElementsByClassName("errorMessage")[0].innerHTML="Passwords aren't the same!";
            return false;
        }
    }
//-->
</script>
var $this = $(this);

            if($this.val() === ''){
                var error = 'Please fill ' + $this.prev('label').text(); // take the input field from label
                $this.next('span').text(error);
                errorCount = errorCount + 1;   
            }else if($this.attr('id') === 'Password'){
                //compare the two fields
                if($('#Password').val() !== $('#RePassword')){
                    //they don't match, do stuff

                }
            }
 var password= $('input[name="Password"]').val();
 var repass= $('input[name="RePassword"]').val();

 if(password!=repass){
  var error = 'Password not matching';
       $('input[name="RePassword"]').next('span').text(error);
       $('input[name="Password"]').next('span').text(error);
         errorCount = errorCount + 1;  
  }else if(password=="" || repass==""){
            if(password==""){
        var error = 'Please enter a password.';
       $('input[name="Password"]').next('span').text(error)
         errorCount = errorCount + 1;  
    }else{
           var error = 'Please enter a repassword.';
       $('input[name="RePassword"]').next('span').text(error)
         errorCount = errorCount + 1;  
  }
   }
   }else{
     continue;
    }
$(document).ready(function(){
    $('#suform').on('submit', function(e){
        e.preventDefault();
        var errorCount = 0;
        $('span.errorMessage').text(''); // reset all error mesaage
        $('input').each(function(){
            var $this = $(this);
            if($this.val() === ''){
                var error = 'Please fill ' + $this.prev('label').text(); // take the input field from label
                $this.next('span').text(error);
                errorCount = errorCount + 1;   
            }
            else
            if($(this).attr('name') == "RePassword")
                if($('input[name=Password]').val() != $(this).val())
                    alert("must have same password");
        });
        if(errorCount === 0){
            $(this)[0].submit(); // submit form if no error
        }
    });
});​
 $(document).ready(function(){
    $('#suform').on('submit', function(e){
        e.preventDefault();
        var errorCount = 0;
        $('span.errorMessage').text(''); // reset all error mesaage
        $('input').each(function(){
            var $this = $(this);
            if($this.val() === ''){
                var error = 'Please fill ' + $this.prev('label').text(); // take the input field from label
                $this.next('span').text(error);
                errorCount = errorCount + 1;   
            }
        });
        if($('input[name="Password"]').val() != $('input[name="RePassword"]').val())
        {
            var error = 'Password not match'; // take the input field from label
            $('input[name="RePassword"]').next('span').text(error);
            errorCount = errorCount + 1;   
        }
        if(errorCount === 0){
            $(this)[0].submit(); // submit form if no error
        }
    });
});