0

我在链接上使用单击功能通过 ajax 提交表单,如果服务器返回错误,则会显示服务器端错误。

使用这种方法,输入键在表单中不起作用,我认为使用 jquery 验证的提交处理程序可能有一种更简单、更正确的方法。

到目前为止,这是我的代码...

function loginSubmit(){
    $.ajax({
        url: loginFormURL,          
        type: 'POST',
        /** contentType: "application/json;",  **/
        dataType:"text json",
        /** async: true, **/
        data:$('#loginForm').serialize(),
        success: function(data){

           if(data.isError == "false" || data.isError == ""){

                       $.postMessage(
                        'redirectURL|'+ redirectURL +'',
                        '*',
                        parent
                      );


                     } else

                     if(data.isError == "true"){

                       $("#loginError").empty().show(); 
                       // iterate over the message list and display the error
                       for (var i=0; i < data.errorMessages.length; i++){
                               // inject error message to the error container

                           $("#loginError").append(data.errorMessages[i]);

                           }    

                       // iterate over the field list and paint the fields in red

                       $('input').parent('div').addClass('inputError');



                   }

           }            
   });
} 

和点击功能:

 $("a#loginButton").click(function(){
                $("#loginForm").validate().form(this);
                if($('#loginForm').valid()){
                    loginSubmit();
                }
            });

任何帮助,将不胜感激。

4

1 回答 1

1

您需要在输入字段上收听 ENTER 键:

$('input').keypress(function(event) {
    if(event.which == 13) {
        loginSubmit();
        event.preventDefault();
        return false;
    }
});

当然,您可能不想在所有 INPUT 标记上捕获 ENTER,只是一些,因此您可以根据需要使用另一个选择器。

在此处查看类似的讨论。

于 2012-07-13T01:37:36.867 回答