Javascript 获取错误未捕获类型错误:无法设置属性';价值';空的
我收到此错误未捕获的TypeError:无法在-> 我的html是从函数goSubmit()传递值 即使我硬编码该值,它似乎也不会传递它。有人能帮我星期五和星期六吗Javascript 获取错误未捕获类型错误:无法设置属性';价值';空的,javascript,html,Javascript,Html,我收到此错误未捕获的TypeError:无法在-> 我的html是从函数goSubmit()传递值 即使我硬编码该值,它似乎也不会传递它。有人能帮我星期五和星期六吗 <input type="hidden" id="select_month" name="select_month" value=""> function goSubmit(month_year) { alert(month_year); // it pass value '2019-05'
<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();
}
功能goSubmit(月\年){
警报(月/年);//它通过值“2019-05”
var m=月\年。toString();
控制台日志(m);
警报(m);
//警报($('select#u month').val(m));
document.getElementById('select_month')。值=m;
//警报(document.getElementById(“select_month”).value);
//警报($('select#month').val(month#year));
//$(“选择商店”).val(3);
document.getElementById('select_store')。值=3;
document.getElementById('formdaily').submit();
}
为什么您的案例不起作用
这是因为当您使用document.getElementById
访问元素时,它不存在。您可以在检查DOM是否准备就绪或类似的情况后执行此操作
如果没有这些,还有其他的方法可以奏效
document.getElementById("formdaily").children.namedItem("select_month").value = "1234"
注意:在大写字母中,您的select\u month
元素必须是formdaily
的直接子元素
其他方式
按姓名
按查询选择器
按表单元素
值是存在于输入标记上的属性,因此请尝试此操作。
document.getElementById(“select_month”).value=m
我想我已经发现了错误。javascript似乎无法将值传递给隐藏的输入。解决方案是我将输入隐藏更改为输入类型,然后onload我将为select\u month隐藏输入类型。现在,它将把值传递给输入文本。请用相关HTML更新问题……为什么不能直接访问select\u MOUNT HIDDED元素document.getElementById('select_month')
用相关html更新了问题@正在运行你的代码,我看不到任何错误!!!数据也被传递到我可以在警报和控制台中看到的函数!!!虽然您的代码可以改进…..您可以将DOM hirarchy从#formdaily
添加到select\u month
中吗理解,您的输入元素嵌套得很深,这就是为什么您无法访问它子项.namedItem
这样,还有另一种方法,让我更新我的答案。在控制台中,您可以打印document.getElementById(“select_month”)。您将了解是否能够正确获取此id。稍后,您可以查看其providing value属性是否正确。您需要使用此代码来实现目标。
<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();
}
document.getElementById("formdaily").children.namedItem("select_month").value = "1234"
document.getElementsByName("select_month")[0].value = 123;
document.querySelector("#formdaily input[name=select_month]").value = 5
document.forms.formdaily.select_month.value = 5