2010-07-07 226 views
0

我有個PHP數組:傳遞PHP變量

foreach($xpath->query('//a') as $element) { 
    $linklabel[] = $element->textContent; 
    $link[] = $element->getAttribute("href"); 
    $i=$i+1; 
} 

我也有一個HTML形式:

<form name="keypad" id="form" onSubmit="return pass(this)"> 
<input type="text" size="100%" length="25" value="" name="lcd"> 
<input type="button" value=" 1 " name="one" onClick="this.form.lcd.value+=this.value"> 
<input type="button" value=" 2 " name="two" onClick="this.form.lcd.value+=this.value"> 
<input type="button" value=" 0 " name="zero" onClick="this.form.lcd.value+=this.value"> 
<input type="submit" name="Submit" id="Submit" value="Go" > 
</form> 

如何可以寫出的onSubmit功能pass()從鍵盤所採用的值,併發送對應的$link[]值爲browse.php。例如,如果$link[20]='google.com';,我想通過$link[20]到browse.php如果用戶在鍵盤20和印刷機去

回答

-1

你需要輸出的方式PHP數組中的JavaScript可以解釋,就像是JavaScript數組:

<?php 
echo "<script type=\"text/javascript\">\n"; 
echo "var links = ["; 
foreach($links as $link) 
    echo "'$link', "; 
echo "];\n"; 
echo "</script>\n"; 
?> 

您還需要在表格中的元素的功能可以設置:

<input type="hidden" name="url"> 

然後你的Javascript功能可以索引到陣列和修改表單元素:

function pass() { 
    id = parseInt(document.getElementsByTagName('form')[0].lcd.value, 10); 
    document.getElementsByTagName('form')[0].url.value = links[id]; 
} 

由於某種原因,你的按鈕值在它們周圍有空格;他們應該只是數字,否則lcd.value將最終與整個空間。如果你想讓按鈕有填充使用CSS。

最後,你需要後,如果你要檢查$_POST在另一端的形式,所以更改標籤:

<form name="keypad" id="form" method="post" onSubmit="return pass()"> 

你也可以在目標頁面上使用$_GET

+0

thanku你邁克爾..讓我試試這個... – 2010-07-07 22:02:15

+0

錯誤heppening當我試圖使用「爲($鏈接爲$鏈接)....是因爲我的代碼問題,我是一個初學者在php – 2010-07-07 22:05:57

+0

可以任何機構建議一個更好的主意。**回聲**的想法是破壞我的網頁與鏈接 – 2010-07-07 22:31:26