Javascript jQuery输入表单问题

Javascript jQuery输入表单问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我目前正在用JavaScript编写一些输入表单,并且我已经通过脚本进行了编辑,这样一旦用户输入了一个问题的力的数量,每个数字都会显示新的输入文本字段,并且在最后添加了一个按钮。问题是,当我尝试并单击此按钮时,我尝试并使用.map函数将所有文本字段值启动到其中,但什么都没有发生 function forceRecording(numofforces,$this){ var addRows='<tr id=newRows>'; for(var i =1; i<=

我目前正在用JavaScript编写一些输入表单,并且我已经通过脚本进行了编辑,这样一旦用户输入了一个问题的力的数量,每个数字都会显示新的输入文本字段,并且在最后添加了一个按钮。问题是,当我尝试并单击此按钮时,我尝试并使用.map函数将所有文本字段值启动到其中,但什么都没有发生

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");
});
功能强制录制(numforces$this){
var addRows='';

对于(var i=1;i我完全不知道您想要实现什么,但这可能会有所帮助:

function forceRecording(numofforces, $this) {
    var addRows = '<tr id="newRows">';
    for (var i = 1; i <= numofforces; i++)
        addRows += '<td>Force ' + i + ': </td><td><input type="text" name="forceItem" /></td>';
    addRows += '<td><input type="button" class="button" id="forceButton" value="Add!" /></td></tr>';
    $this.closest('tr').after(addRows);
}

$('#forceButton').click(function() {
    forces = $(this).parent().parent().filter('input[name="forceItem"]').map(function() { return $(this).val(); });
});
功能强制录制(numforces$this){
var addRows='';

对于(var i=1;i来说,您缺少了关于代码的结束语

$('#forceButton').click(function(){
    forces=$("input[id='newR']").map(function(){return $(this).val()
});
应该是这样的

$('#forceButton').click(function(){
   forces=$("input[id='newR']").map(function(){
       return $(this).val();
   });
});
不要使用
id
,而是使用
类名

$('#forceButton').click(function(){
    forces=$(".newR").map(function(){
        return $(this).val();
    });
});
像这样将类应用于输入字段

<input type="text" name="forceItem" class="newR"/>


您将创建具有相同ID(ID='newR')的元素。这注定会失败。好吧,有些建议不会有什么坏处。我做了。不要将同一ID用于多种用途。这是计算的一般原则。