2014-01-23 94 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