Javascript 从没有id的表中检索td中的输入值
我需要从通用输入字段中检索日期。我不知道用户可以在表单中创建多少个日期(输入字段),所以我按行计数 我无法提取字段的值(语法错误可能) 注意:当我在午餐时收到代码:无法设置未定义的属性“0” html代码:Javascript 从没有id的表中检索td中的输入值,javascript,jquery,Javascript,Jquery,我需要从通用输入字段中检索日期。我不知道用户可以在表单中创建多少个日期(输入字段),所以我按行计数 我无法提取字段的值(语法错误可能) 注意:当我在午餐时收到代码:无法设置未定义的属性“0” html代码: <div> <table id='dynamic_field_edit'> <tbody> <tr> <td>Date</td>
<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我是说原生的。。。我甚至不知道框架事件的存在。我曾经是一个后端程序员,这就是为什么我对这个不太熟悉的原因