2011-04-07 79 views
0

我想將一個javascript變量傳遞給php,我想在表單中使用隱藏的輸入字段。這裏是我的代碼至今:以形式打印JS變量

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

Unfortunally這並不工作,作爲輸出的精確同上,而不是城市名作爲值。任何一個人都可以指出我正確的方向嗎?我不知道問題出在哪裏。

謝謝!

回答

2

隱變量是不錯的主意(如果它是被提交表單的一部分)。

您可以像這樣設置,只要您爲此輸入添加一個city的ID即可。

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

您可以將該腳本放在頁面的底部,或者使用其他JavaScript,如果您已經有一些。只要確保在運行時存在輸入元素

+0

嗨,是的輸入存在,我添加了一個非常類似的JavaScript(請參閱上面的Calums回答)在我的頁面的底部,我的其他JavaScript位於。它的作品完美!謝謝你的幫助! – Andrej 2011-04-07 11:13:30

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

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

編輯:你去了。只要元素已經加載,就要在更新輸入時調用davidIsPedantic()函數。儘快在頁面加載調用它,使用此:

window.onload = davidIsPedantic(); 
+0

元素存在之前就不能訪問元素 – Quentin 2011-04-07 10:55:23

+1

完美無缺!謝謝! – Andrej 2011-04-07 10:57:41