我目前正在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。这是计算的一个通用原则。 –