2016-07-19 91 views
1

我想要實現的內容類似於如何在div中加載的鏈接只在div中加載,而不是在div中加載div的任何表單。格內的郵政形式

因此,例如,如果我有一個表格#profile-body;

<form method="POST" action="/post.php"> 
<input name="test" type="text"/> 
<input type="submit"/> 
</form> 

當表單被提交時,動作頁面被加載到div中。

$(function(){ 
    $(document).on('click', '.profile-body, #profile-body a',function(e){ 
     e.preventDefault();// prevent browser from opening url 
     $('#profile-body').load(this.href); 
    }); 
}); 
$(document).ready(function() { 
    var defaultPage = "defaultpage.html"; 
    $('#profile-body').load(defaultPage); 
}); 

<div id="profile-body"></div> 

我的問題是我將如何獲得表單發佈頁面加載到div中。

回答

2

load()如果傳遞了一些對象數據,則可以使用POST方法。所以你應該嘗試這樣的事情:

$('div > form').on('submit', function(e) { 
    e.preventDefault(); 
    $(this).parent('div').load(this.action, $(this).serializeArray()); 
}); 
+1

我試過你發佈的代碼,但它不起作用。仍然加載div的外部窗體。嗯 –

+0

對不起,但我不知道什麼意思是「不工作」,也沒有什麼你試過...?你能發佈一個MCVE嗎?也許你需要委託事件,但你的問題是相當遺漏的上下文,使其更清晰 –

+1

我需要以任何方式更改上述代碼爲它的工作?,表單仍然張貼到整個頁面,而不是在div。 –