2014-01-23 64 views
0

我有一个表格有一些数据错误处理提交

<form id="abc" method="POST" action="abc.html"> 
<input type="hidden" id="a" name="a" /> 
<input type="hidden" id="b" name="b" value="save"/> 
</form> 

和js文件我提出这种形式

document.getElementById("abc").submit(); 

什么我想要做的是,如果它抛出任何异常,然后一个警报弹出窗口应该打开谁能帮忙?

+1

什么类型的错误是U期待? –

+0

由于某些特殊的表格提交,从后端开始提交,提交失败。我不确定如何处理响应失败的情况。 –

+0

您是否想要在客户端验证失败? –

回答

-2

使用try catch块

try 
    { 
     document.getElementById("abc").submit(); 
    } 
catch(err) 
    { 
    alert('Something is wrong'); 
    } 
-2

浏览器不抛出任何错误,那么你只需要提交表单。错误可以在浏览器中生成JavaScript。

你的情况,你可以检查元素已经存在:

var formNode = document.getElementById("abc"); 

if (formNode) { 
    formNode.submit(); 
} 

你也可以得到错误,那么你对任何形式提交处理事件,但你不能在字符串中的捕捉这个事件你提交表格。

1

以前的两个答案都是错误的。他们检查对象表单是否存在,但不处理服务器端错误。

你可以使用jQuery Form Plugin

$('#myForm') 
    .ajaxForm({ 
     url : 'myscript.php', // or whatever 
     dataType : 'json', 
     success : function (response) { 
      alert("The server says: " + response); 
     } 
    }) 
; 

或简单的Ajax:

$('#form').submit(function(){ 
    $.ajax({ 
     url: $('#form').attr('action'), 
     type: 'POST', 
     data : $('#form').serialize(), 
     success: function(){ 
     console.log('form submitted.'); 
     } 
    }); 
    return false; 
}); 

你可以找到这个问题的答案更多的细节 - How do I capture response of form.submit