2014-12-01 74 views
-2

我在另一個表單元素內有一個表單,但是當我嘗試序列化嵌套表單時,函數只是返回一個空對象。我問這是因爲我編寫的是一個Wordpress插件,我需要在後期編輯器頁面中添加一個表單,並且我在頁面中放置的所有內容似乎都會添加到父表單中,所以這裏是我想要的一個例子:jQuery序列化嵌套表格

JS Fiddle

<form> 
<div>Other content goes here...</div> 
<form id="otroform"><input type="text" value="meine valor" name="variable"/></form> 
</form> 

這是JS代碼

var formData = jQuery('#otroform').serializeArray(); 
console.log(formData); 

返回:

[] 

如果我刪除父窗體,那麼它將正常工作。

在此先感謝。

+1

HTML禁止嵌套窗體。首先不要創建它們。 – Quentin 2014-12-01 19:09:59

回答

0

改變你的代碼有外在形式使用它的工作ID:

<form id="otroform"> 
    <div>Other content goes here...</div> 
    <form id=""><input type="text" value="meine valor" name="variable"/></form> 
</form> 

這是因爲,你不能有嵌套形式的問題。

的jsfiddle:http://jsfiddle.net/xdydtset/1/

1

serializeArray()不需要的形式。所以,你可以通過收集不同類別的輸入來避免內部形式。

例如:

HTML:

<form> 
<div>Other content goes here...</div> 
<form id="otroform"><input type="text" class="otroform" value="meine valor" name="variable"/></form> 
</form> 

的javascript:

var formData = jQuery('.otroform').serializeArray(); 
console.log(formData); 

http://jsfiddle.net/bz5ddf1L/

看到.serializeArray()文檔: http://api.jquery.com/serializearray/