在表单中打印JS变量

时间:2011-04-07 10:47:47

标签: php javascript forms variables

我想将一个javascript变量传递给php,我想在我的表单中使用隐藏的输入字段。到目前为止,这是我的代码:

<input type="hidden" name="city" value="<script type='text/javascript'>document.write(geoip_city());</script>" />

不幸的是,这不起作用,因为输出与上面的输出完全相同,而不是作为值的cityname。任何人都可以指出我正确的方向吗?我不确定问题出在哪里..

谢谢!

2 个答案:

答案 0 :(得分:2)

隐藏变量是个好主意(如果它是提交的表单的一部分)。

如果您为此输入添加了city的ID,则可以像这样设置。

<script type="text/javascript">
    document.getElementById('city').setAttribute('value', geoip_city());
</script>

您可以将该脚本放在页面底部,或者使用其他javascript(如果已有)。只需确保输入元素在运行时存在

答案 1 :(得分:1)

<script>
   function davidIsPedantic(){
      document.getElementById('city').value = geoip_city();
   }
</script>

<input type="hidden" id="city" name="city" />

编辑:你走了。只要元素已加载,只要想要更新输入,就调用davidIsPedantic()函数。要在加载页面后立即调用它,请使用:

window.onload = davidIsPedantic();