2012-06-14 46 views
0

我需要幫助。我使用JQuery的動態表單插件,它每次點擊'+'按鈕時會複製我的輸入框,但是,當我點擊提交按鈕時,問題出現了。我無法通過$ _POST檢索我的輸入框的值,因爲他們都是一樣的'名字'。JQuery Dynamic Form - 提交一個同名的輸入框

如何在輸入框重複時更改輸入框的名稱?

HTML:

<div id="duplicate3"> 
     <input id="description" type="text" name = "description"size="40"> 
     <input id="amount" type="text" name="amount" size="14"> 
    </div> 
     <a href="create.php?state=1" id="plus3" class="ui-state-default ui-corner-all" title="Add">[+]</a> 
     <a href="create.php?state=0" id="minus3" class="ui-state-default ui-corner-all" title="Remove">[-]</a> 

這裏是我的javascript:

$(document).ready(function(){ 

$("#duplicate3").dynamicForm("#plus3", "#minus3",{ 
limit:10, 
createColor: 'yellow', 
removeColor: 'red' 
} 
); 

}); 

回答

1

一對夫婦的快速循環的號碼添加到每個輸入可以工作:

$("input[name^='description']").each(function(index){ 
    var id = "description" + (index+1); 
    $(this).attr("id", id); 
    $(this).attr("name", id); 
}); 
$("input[name^='amount']").each(function(index){ 
    var id = "amount" + (index+1); 
    $(this).attr("id", id); 
    $(this).attr("name", id); 
}); 

這將讓你:

<div id="duplicate3"> 
<input id="description1" type="text" name="description1" size="40"> 
    <input id="amount1" type="text" name="amount1" size="14"> 
<input id="description2" type="text" name="description2" size="40"> 
    <input id="amount2" type="text" name="amount2" size="14"> 
<input id="description3" type="text" name="description3" size="40"> 
    <input id="amount3" type="text" name="amount3" size="14"> 
... 
</div> 

您可以在添加/刪除操作之後運行循環,或者您可以在提交表單之前等待並運行它們,如果因爲任何其他原因而不需要引用輸入。

相關問題