2013-11-26 70 views
-2

我試圖刷新DIV中的數據,無需重新加載整個頁面。所以,用戶在CompanyName文本框中輸入一個名稱並按回車鍵,我想要表單提交,然後我的代碼將處理,從數據庫中獲取新數據,然後顯示回「div1」。jQuery的 - 提交表格和刷新內

我在下面有這些DIV。

<div id="div1-wrapper"> 
    <div id="div1" style="border:solid 1px red; width: 100%;"> 
     <table width="90%" align="center" class="RowDetail"> 
      <tr> 
       <--- The Data Refreshing Display Here ---> 
      </tr> 
    </div> 
</div> 

<form name="form1" id="form1" method="post" action="PurchaseRequestList.asp" onsubmit="return  validSearch();"> 
    <input type="text" name="CompanyName" id="CompanyName" value="" class="box2"> 
</form> 

這是我到目前爲止已經試過,但沒有運氣...

$('#CompanyName').on('keypress', function(e) { 
    if (e.keyCode == 13) 
    { 

     var url = 'PurchaseRequestList.asp'; 
     $.ajax({ 
      method: 'post', 
      url: url + '?#div1', 
      success: function(data) { 
     $('#div1-wrapper').load(data); 
    } 
}); 

由於提前,

+0

您需要將您的研究重點放在'ajax'上。 – Sparky

+0

我沒有看到任何表單提交。 – OlivierH

+1

Follw這個偉大的教程:[使用jQuery進行Ajax調用的5種方法](http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/) –

回答

0

這是發生,因爲你所呼叫的表單元素上.submit()。你應該做的是使用jQuery ajax提交表單數據並使用成功回調來更新div。要獲取表單數據,您需要使用$.serialize();嘗試這樣的事情。

$("form").on("submit", function(event) { 
     var data = $(this).serialize(); 
     $.ajax({ 
     method: 'post', 
     data: data, 
     url: url + '?#div1', 
     success: function(res) { 
      $('#div1-wrapper').load(res); 
     } 
     }); 
    }); 
+0

他必須通過ajax提交表單,其中的參數是? – OlivierH

+0

我按照你的建議修改了我的代碼,但沒有運氣。我是Jquery的新手,請幫忙! – milacay

+0

@hackNightly,我試過了你的建議,但它不起作用。它不會刷新「div1」中的數據。謝謝 – milacay