2010-06-04 70 views
0

我正在傳遞隱藏值,並將其轉換爲javascript函數。我想將此值傳遞給另一個頁面。在通過打印之前,它給了我[對象HTMLInputElement]無法傳遞來自[object HTMLInputElement]的值

$ var4 = 1;

echo "<input type='hidden' id='var4' value='$var4'>"; 

和在javascript訪問它

var y = document.getElementById('var4'); 
    document.write(y); //[object HTMLInputElement] 

它給我作爲1

[對象HTMLInputElement]代替輸出另一件事是,我想通過該值來data.php

「.... data.php?q =」+ y)

是這樣寫的,我可以通過valu像這樣? 你會建議我任何解決方案。 在此先感謝。

回答

0

document.getElementById返回指定的id(因此爲HTMLInputElement)的html元素;閱讀其value以獲得所需的值。

var y = document.getElementById('var4').value; 

"...data.php?q="+y是罰款。您可以使用$_GET['y']閱讀PHP頁面中傳遞的值。只要確保y不是NaNundefined

+0

它工作完美,當我只是把document.getElementById('var4')後.value。非常感謝阿馬爾。 – Rishi2686 2010-06-04 06:43:52

2

那麼,是的,document.getElementById('var4')獲取id爲'var4'的HTML元素。它不會給你HTML元素的值,它會給你整個元素。
y.value會給你的價值。

我不確定我是否正確地理解了這種情況,但是如果您只是想將變量從PHP傳遞到Javascript,則不需要創建隱藏的輸入元素來執行此操作。相反,使用這樣的東西:

<script type="text/javascript" charset="utf-8"> 
    var myVars = <?php echo json_encode($myVars); ?>; 
</script> 

這種方式的變量是直接可用的Javascript變量,沒有獲得必要的元素。

+0

它真的很有用,非常感謝你!!!!!我非常感謝你的幫助。再次感謝。 – Rishi2686 2010-06-04 06:44:19

+2

@Rishi你應該投票並接受代替口頭表揚的答案。 :) – deceze 2010-06-04 06:58:09