Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从没有id的表中检索td中的输入值_Javascript_Jquery - Fatal编程技术网

Javascript 从没有id的表中检索td中的输入值

Javascript 从没有id的表中检索td中的输入值,javascript,jquery,Javascript,Jquery,我需要从通用输入字段中检索日期。我不知道用户可以在表单中创建多少个日期(输入字段),所以我按行计数 我无法提取字段的值(语法错误可能) 注意:当我在午餐时收到代码:无法设置未定义的属性“0” html代码: <div> <table id='dynamic_field_edit'> <tbody> <tr> <td>Date</td>

我需要从通用输入字段中检索日期。我不知道用户可以在表单中创建多少个日期(输入字段),所以我按行计数

我无法提取字段的值(语法错误可能

注意:当我在午餐时收到代码:无法设置未定义的属性“0”

html代码:

<div>
    <table id='dynamic_field_edit'>
         <tbody>
            <tr>
                <td>Date</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
            <tr>
                <td>Date:</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
         </tbody>   
    </table>
</div>

日期
日期:
JS代码:

var arrayDate = [];

    var rowCount = document.getElementById('dynamic_field_edit').rows.length;
    console.log(rowCount);

   var allInputs = document.querySelectorAll('input');
    for (let i = 0; i < allInputs.length; i++) {    
       arrayDate.push(allInputs[i].value);
    }
    console.log(arrayDate);
var arrayDate=[];
var rowCount=document.getElementById('dynamic_field_edit')。rows.length;
console.log(行计数);
var allInputs=document.querySelectorAll('input');
对于(设i=0;i
编辑:

<div>
    <table id='dynamic_field_edit'>
         <tbody>
            <tr>
                <td>Date</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
            <tr>
                <td>Date:</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
         </tbody>   
    </table>
</div>

在所有建议的更改之后,它会工作,但它会从文档中的输入检索所有值。

您只需要初始化数组:

var arrayDate = [];
var arrayDate = [];

    var rowCount = document.getElementById('dynamic_field_edit').rows.length;
    console.log(rowCount);

    $("#dynamic_field_edit").find('input:text')
        .each(function() {
            arrayDate.push($(this).val());
        });
    console.log(arrayDate);
编辑:

<div>
    <table id='dynamic_field_edit'>
         <tbody>
            <tr>
                <td>Date</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
            <tr>
                <td>Date:</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
         </tbody>   
    </table>
</div>
在这个示例中似乎有效,您能将其与您的代码进行比较吗


(我添加了一个按钮来启动JS,只是为了演示)

您只需初始化阵列:

var arrayDate = [];
编辑:

<div>
    <table id='dynamic_field_edit'>
         <tbody>
            <tr>
                <td>Date</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
            <tr>
                <td>Date:</td>
                <td><input type="text" placeholder="Enter date" /></td>
            </tr>
         </tbody>   
    </table>
</div>
在这个示例中似乎有效,您能将其与您的代码进行比较吗


(我添加了一个按钮来启动JS,只是为了演示)

Y您在纯javascript中使用jQuery语法吗

通过以下方式选择您的表格:

table = document.getElementById('dynamic_field_edit');
然后迭代:

for (var i = 0, row; row = table.rows[i]; i++) {
// do your stuff
};

你在纯javascript中使用jQuery语法吗

通过以下方式选择您的表格:

table = document.getElementById('dynamic_field_edit');
然后迭代:

for (var i = 0, row; row = table.rows[i]; i++) {
// do your stuff
};

通过这样做,我找到了实现我想做的事情的方法

@proggrock解决方案也适用于检索文档中的所有输入值

var arrayDate = [];

    var rowCount = document.getElementById('dynamic_field_edit').rows.length;
    console.log(rowCount);

    $("#dynamic_field_edit").find('input:text')
        .each(function() {
            arrayDate.push($(this).val());
        });
    console.log(arrayDate);

通过这样做,我找到了实现我想做的事情的方法

@proggrock解决方案也适用于检索文档中的所有输入值

var arrayDate = [];

    var rowCount = document.getElementById('dynamic_field_edit').rows.length;
    console.log(rowCount);

    $("#dynamic_field_edit").find('input:text')
        .each(function() {
            arrayDate.push($(this).val());
        });
    console.log(arrayDate);

尝试var arrayDate=[];尝试var arrayDate=[];错误消失了,但我仍然无法获取输入字段值挂起,出现问题。它将两个数组插槽中的第一个值相加。试试这个修订版(不带jQuery),希望它会有所帮助。我刚才看到的是,但是文档中每个输入的新代码失效值(我只希望它出现在这个表中)。在我的console.log()中,我有15个元素。如果有一种方法可以只选择特定位置的输入,则错误消失,但我仍然无法获取输入字段值。挂起,这是一个问题。它将两个数组插槽中的第一个值相加。试试这个修订版(不带jQuery),希望它会有所帮助。我刚才看到的是,但是文档中每个输入的新代码失效值(我只希望它出现在这个表中)。在我的console.log()中,我有15个元素,有一种方法可以只选择特定位置的输入,在vanilla js之前从未使用过,只有native js和jqueryBy vanilla我指的是native。。。我以前是一个后端程序员,这就是为什么我不太熟悉它以前从未使用过的vanilla js,只是原生js和jqueryBy vanilla我是说原生的。。。我甚至不知道框架事件的存在。我曾经是一个后端程序员,这就是为什么我对这个不太熟悉的原因