Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 获取错误未捕获类型错误:无法设置属性';价值';空的_Javascript_Html - Fatal编程技术网

Javascript 获取错误未捕获类型错误:无法设置属性';价值';空的

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'

我收到此错误未捕获的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'
        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