表格onclick验证JQUERY

时间:2013-05-26 21:12:39

标签: jquery onclick validation

我试图在php进程之前验证一个简单的表单。 当我将每个输入都清空时,表单会停止,但如果我停留在同一页面并填写每个输入,表单将不会提交。

我猜回报是假的;留在第一次验证。我是初学者:)

所以这是一段摘录:

HTML

<input onblur="validName();" type="text"  name="name" id="name">
<textarea id="message" name="message" onblur="validMess();" rows="5"></textarea>

<input type="submit" name="submit" onclick="validSubmit();" value="send">

JQUERY

function validSubmit() {
var message = $("#message").val();
var name = $("#name").val();

    if( name == ''){
        $("#valid-name").removeClass('hide'); // if empty = show error message
        $("#form").submit(function(e){
            return false;
        });
    }
    else {
        $("#valid-name").addClass('hide'); // all good = hide error message
        $("#form").submit(function(e){
            return true;
        });
    }


    if(message == ''){
        $("#valid-mess").removeClass('hide'); // if empty = show error message
        $("#form").submit(function(e){
            return false;
        });
    }
    else { 
        $("#valid-mess").addClass('hide'); // all good = hide error message
        $("#form").submit(function(e){
            return true;
        });
    }

}

ID:valid-name和valid-mess是两个设置为display的错误消息:none;默认情况下。

我有点失落,答案可能在JS或Jquery我不介意。

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

请勿在{{1​​}}回调中致电submit,只有在不正常时才会返回submit

false

另外,正如Barmar所指出的,这不是绑定验证的最佳方式。您最好使用

,而不是绑定到click事件
function validSubmit() {
    var message = $("#message").val();
    var name = $("#name").val();
    $("#valid-name,#valid-mess").addClass('hide');
    var ok = true;
    if (name == ''){
        $("#valid-name").removeClass('hide');
        ok = false;
    }
    if (message == ''){
        $("#valid-mess").removeClass('hide');
        ok = false;
    }
    return ok;
}