获取错误未捕获的类型错误:无法将属性“值”设置为 null
2019-08-02
1100
我收到此错误 Uncaught TypeError: 无法将属性“value”设置为 null ,在 ->
我的 html 是从函数 goSubmit() 传递值,
<form class="form-inline" id="formdaily" action="http://localhost:8080/reports/storewisedaily" method="POST">
<div class="box">
<div class="box-header">
<h3 class="box-title">Total Paid Orders - Report Data</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<table id="datatables" class="table table-bordered table-striped">
<thead>
<tr>
<th>Month - Year</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td><a id="month_year" data-id="2019-01" onclick="goSubmit('2019-01')" href="#">2019-01</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-02" onclick="goSubmit('2019-02')" href="#">2019-02</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-03" onclick="goSubmit('2019-03')" href="#">2019-03</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-04" onclick="goSubmit('2019-04')" href="#">2019-04</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-05" onclick="goSubmit('2019-05')" href="#">2019-05</a></td>
<td>11,471.50</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-06" onclick="goSubmit('2019-06')" href="#">2019-06</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-07" onclick="goSubmit('2019-07')" href="#">2019-07</a></td>
<td>12.50</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-08" onclick="goSubmit('2019-08')" href="#">2019-08</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-09" onclick="goSubmit('2019-09')" href="#">2019-09</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-10" onclick="goSubmit('2019-10')" href="#">2019-10</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-11" onclick="goSubmit('2019-11')" href="#">2019-11</a></td>
<td>0.00</td>
</tr>
<tr>
<td><a id="month_year" data-id="2019-12" onclick="goSubmit('2019-12')" href="#">2019-12</a></td>
<td>0.00</td>
</tr>
<input type="hidden" id="select_month" name="select_month" value="">
<input type="hidden" id="select_store" name="select_store" value="3">
</tbody>
<tfoot align="right">
<tr><th></th><th></th></tr>
</tfoot>
</table>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</form>
并且在函数中我想将 goSubmit() 的值传递给名为“select_month”的隐藏输入
document.getElementById('select_month').value = m;
即使我对值进行硬编码,似乎也没有传递它。有人能帮我解决周五和周六的问题吗
<input type="hidden" id="select_month" name="select_month" value="">
function goSubmit(month_year) {
alert(month_year); // it pass value '2019-05'
var m = month_year.toString();
console.log(m);
alert(m);
//alert($('#select_month').val(m));
document.getElementById('select_month').value = m;
//alert(document.getElementById("select_month").value);
//alert($('#select_month').val(month_year));
//$("#select_store").val(3);
document.getElementById('select_store').value = 3;
document.getElementById('formdaily').submit();
}
3个回答
Value 是存在于输入标签上的属性,因此请尝试一下。
document.getElementById("select_month").value = m
TrickOrTreat
2019-08-02
为什么您的案例不起作用
这是因为当您使用
document.getElementById
访问
elements
时,它不存在。您可以在检查 DOM 是否已准备就绪或类似情况后执行此操作。
还有其他方法可以在没有这些的情况下工作。
document.getElementById("formdaily").children.namedItem("select_month").value = "1234"
注意:
大写字母中的
select_month
元素必须是
formdaily
的直接子元素。
其他方式
按名称
document.getElementsByName("select_month")[0].value = 123;
按查询选择器
document.querySelector("#formdaily input[name=select_month]").value = 5
按表单元素
document.forms.formdaily.select_month.value = 5
Shivam Mishra
2019-08-02
我想我已经找到了错误。看来 javascript 无法将值 传递给 隐藏输入 。解决方案是我将输入隐藏更改为输入类型,然后 onload 时我将隐藏 select_month 的输入类型。现在它将值传递给输入文本。
Shafiq Mustapa
2019-08-04