1

我的问题是我正在尝试对密码进行简单的验证,我认为这一切都是正确的,但我在某个地方弄错了,因为它不起作用,即使我写相同的密码也总是返回错误。我希望你能帮助我找出我做错了什么。

这是我输入的代码。

<form id="form2" name="form2">
    <label for="nombre">Nombre</label>
    <input id="nombre"type="text" class="text" size="20" name="nombre">

    <label for="usuario">Usuario</label>
    <input id="password1" type="text" class="text" size="20" name="usuario">

    <label for="contrasena">Contraseña</label>
    <input id="password1" type="password" class="text" size="20" name="contrasena">

    <label for="confirmar">Confirmar contraseña</label>
    <input id="password2" type="password" class="text" size="20" name="confirmar">

    <label for="email">Email</label>
    <input type="text" class= "text" size="20" name="email">

    <div>
        <input type="submit" class="boton1" value="Regístrate" size="56">
    </div>

这是我的验证和我的 jquery ajax 调用。

$(document).ready(function(){   
    $('.boton1').on('click', function(e){
        e.preventDefault();

        var name = $('#nombre').val();
        var password1 = $('#password1').val();
        var password2 = $('#password2').val();
        var errors = '';

        if(name.length < 5 || name == '') {
            errors += '<p>error1</p>'; 
        } else if( password1 != password2 ) {
            errors += '<p>error2</p>'; 
        }

        if(errors != '') {
            $("#login_error").show();       
            $.fancybox.resize();

            //$("#login_succes").hide();
        } else {
            var datos = $('#form2').serialize();
            $.ajax({
                url:'Usuario.php',
                data: datos,
                type:'POST',
                beforeSend: function(){
                    $('#seccion_registro').html('<div id="carga" style="margin:0 auto;width:auto;background-position:center center;"></div>');
                },
                success: function(){
                    $('#seccion_registro').html('<p class="text_enhorabuena">Enhorabuena, has sido registrado!</p>');
                    $("#registro_succes").show();       
                    $.fancybox.resize();
                }
            });
        }
    });
});
4

2 回答 2

1

几点建议:

1.使password1的ID唯一。

<label for="usuario">Usuario</label>
<input id="password1" type="text" class="text" size="20" name="usuario">
           ^^^^^^^^^^    
<label for="contrasena">Contraseña</label>
<input id="password1" type="password" class="text" size="20" name="contrasena">
           ^^^^^^^^^^
  1. 改变 else if

     if( password1 != password2 ){   // remove the else because both if checking different       things.    
        errors += '<p>error2</p>'; 
        }
    
于 2013-05-31T08:02:25.513 回答
0

ID 必须是唯一的

将此行更改为

   <input id="usuario1" type="text" class="text" size="20" name="usuario">
于 2013-05-31T07:54:29.703 回答