传递给Javascript的变量在添加到输入值时返回NULL

时间:2015-07-24 10:55:05

标签: javascript

所以,基本上我试图将一个变量传递给一段javascript代码,然后将该值设置为隐藏的输入值。

<img alt="" src="Image.jpg" style="width:50px" class="thisclass" title="Title" onclick="thisfunction('Text Here')" />

该值明显通过,因为我能够成功处理切换命令。

function thisfunction(thisvariable) {
    switch(thisvariable) {
        case 'Text Here' :

但是,当我尝试设置隐藏

的值时
<input type="hidden" name="ThisInput" value="N/A" />

document.getElementById("ThisInput").value = thisvariable;

我在javascript控制台中收到以下错误

Uncaught TypeError: Cannot set property 'value' of null

我也试过

$('#ThisInput').val(thisvariable);

然而,这似乎使该值空白。

3 个答案:

答案 0 :(得分:3)

查看代码的这一部分:

<input type="hidden" name="ThisInput" value="N/A" />
document.getElementById("ThisInput").value = thisvariable;

document.getElementByID$("#...")会找到元素的ID。 &#34; ThisInput&#34;是名称 - 它没有设置ID。

这样可行:

<input type="hidden" id="ThisInput" value="N/A" />
document.getElementById("ThisInput").value = thisvariable;

或者如果您想将其保留为name属性,请使用jQuery属性选择器:

$("input[name='ThisInput']").val(thisvariable);

答案 1 :(得分:0)

您尝试通过ID选择HTML元素。

<input type="hidden" id="ThisInput" name="ThisInput" value="N/A" />

使用它,它应该工作

答案 2 :(得分:0)

试试这个:

<input type="hidden" name="ThisInput" id="ThisInput" value="N/A" />

<script>
  $('#ThisInput').attr('value',thisvariable);
</script>