我目前正在JavaScript中處理一些輸入表單,並且已經通過腳本進行編輯,以便一旦用戶輸入問題的力數量,新的輸入文本字段每個數字顯示,也有一個按鈕被添加在結尾處。問題是,當我嘗試點擊這個按鈕時,我嘗試使用.map函數將所有文本字段值加入其中,並且什麼也沒有發生。jQuery輸入表單問題
function forceRecording(numofforces,$this){
var addRows='<tr id=newRows>';
for(var i =1; i<=numofforces;i++)
{
var nearTr=$this.closest('tr');
addRows=addRows + "<td>Force " +i+": </td><td><form><input type='text' name='forceItem' id='newR'/></form></td>";
}
addRows=addRows+"<td><div class='button' id='forceButton'> Add! </div></td></tr>";
nearTr.after(addRows);
};
$('#forceButton').click(function(){
forces=$("input[id='newR']").map(function(){
return $(this).val()
});
function forceRecording(numofforces,$this){
var addRows='<tr id=newRows>';
for(var i =1; i<=numofforces;i++)
{
var nearTr=$this.closest('tr');
addRows=addRows + "<td>Force " +i+": </td><td><form><input type='text' name='forceItem' id='newR'/></form></td>";
}
addRows=addRows+"<td><div class='button' id='forceButton'> Add! </div></td></tr>";
nearTr.after(addRows);
};
$('#forceButton').click(function(){
forces=$("input[id='newR']").map(function(){
return $(this).val()
});
prompt("forces");
});
正如你可以看到我的forceRecording功能工作,並創建一個新的行與每numofforces新的文本輸入框,但一旦我嘗試一下forceButton輸入值到我的力量陣列沒有任何反應。任何想法可能會造成這種情況?
您將創建具有相同的ID(ID = 'newR')的元件。這注定會失敗。 –
以及一些建議不會傷害.. – bala
我做到了。不要對多個事物使用相同的ID。這是計算的一個通用原則。 –