开发者问题收集

在 javascript 中访问 js 变量时无法读取 null 的属性“value”

2015-01-14
1271

我需要什么

  • 我需要将 url 变量从 html 传递到 javascript 文件。

html 代码

    <script>
     var p = "{{ page_param.asy_request | replace('&','&')}}";
     p = p.replace(/\&/g, "&");
     p = "{{ DomainDetect() }}/ajax?for=event_listing&ajax=1" + p;

   </script>

 <input type="hidden" name="mobilepage" id="mobilepage" value="'+p+'"/>

在 javascript 代码中访问 p 变量

   var mobile=document.getElementById("mobilepage").value;
   console.log(mobile);

错误

Uncaught TypeError: Cannot read property 'value' of null
  • 我需要将 url 从 html 文件传递​​到 js 文件。

  • 我已经为此使用了隐藏元素。

  • 欢迎提出任何建议。

3个回答

您的 html 元素没有 id。因此您无法使用 document.getElementById 进行选择。如果您想修复此问题,您必须添加此 id ,如下所示:

<input type="hidden" name="mobilepage" id="mobilepage" value=""/>

如果您不想添加 id 并且想要保留此元素,则应使用另一种方法选择您的元素,即 document.getElementByName

下面我添加了一个代码片段以查看它是否有效。

alert(document.getElementById("mobilepage").value);
<input type="hidden" name="mobilepage" id="mobilepage" value="3"/>
Christos
2015-01-14

您尝试通过 ID 获取元素,但实际上应该通过名称获取该元素。 请执行以下操作:

 var mobile=document.getElementByName("mobilepage").value;

或者,将名称更改为 HTML 元素上的 ID:

<input type="hidden" id="mobilepage" value=""/>
Omri Aharon
2015-01-14

向您的输入添加 id 属性。

Ankit K
2015-01-14