无法阅读财产'价值'在javascript中访问js变量时为null

时间:2015-01-14 11:04:40

标签: javascript html

我需要什么

  • 我需要将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 个答案:

答案 0 :(得分:1)

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

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

如果您不想添加id,并且希望保留此元素,则应使用其他方法选择元素document.getElementByName

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

&#13;
&#13;
alert(document.getElementById("mobilepage").value);
&#13;
<input type="hidden" name="mobilepage" id="mobilepage" value="3"/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

当您按名称获取该元素时,您正在尝试按ID获取元素。 做:

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

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

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

答案 2 :(得分:0)

为您的输入添加id属性。