2011-09-06 66 views
1

我使用ajax提交表單,而我需要做的是在成功提交後重置表單。但是,發生的事情是,一旦用戶提交,表單將被清除。我試圖將代碼置於「成功」,「完成」中,但即使用戶收到錯誤消息,它也會保持重置狀態。我只需要在else語句之後重置。即;用戶收到成功消息。我該如何糾正這一點。由於成功提交jQuery重置表單

$.ajax({ 
     type: "POST", 
     url: "boxrtrvajax.php", 
     cache: false, 
     data: send, 
     success: function (data) { 
     if (data == 'No data'){ 
     $('#brtv-result').addClass("result_msg").html('Please fill in all fields'); 
     } 

     else 

     //location.reload(true); 
     $('#brtv-result').addClass("result_msg").html("You have successfully retrieved: "+data).fadeIn(4000).delay(4000).fadeOut(4000); 
     $("#BRV-brtrv-slider").val(0).slider("refresh"); 
     $("input[type='radio']").attr("checked",false).checkboxradio("refresh"); 
     var myselect = $("select#BRV-brtrv-department"); 
     myselect[0].selectedIndex = 0; 
     myselect.selectmenu("refresh"); 
     var myselect = $("select#BRV-brtrv-address"); 
     myselect[0].selectedIndex = 0; 
     myselect.selectmenu("refresh"); 
     }, 

     error:function (xhr, ajaxOptions, thrownError){ 
     jAlert('There was an exception thrown somewhere'); 
     alert(xhr.status); 
     alert(thrownError); 
    } 
    }); 

回答

1

你不必在你的else語句括號所以它完成的代碼不管是什麼

if (data == 'No data') 
     $('#brtv-result').addClass("result_msg").html('Please fill in all fields'); 
else 
{ 
     //location.reload(true); 
     $('#brtv-result').addClass("result_msg").html("You have successfully retrieved: "+data).fadeIn(4000).delay(4000).fadeOut(4000); 
     $("#BRV-brtrv-slider").val(0).slider("refresh"); 
     $("input[type='radio']").attr("checked",false).checkboxradio("refresh"); 
     var myselect = $("select#BRV-brtrv-department"); 
     myselect[0].selectedIndex = 0; 
     myselect.selectmenu("refresh"); 
     var myselect = $("select#BRV-brtrv-address"); 
     myselect[0].selectedIndex = 0; 
     myselect.selectmenu("refresh"); 
    } 
+0

非常感謝你 – bollo