我有一个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
并按下Go
答案 0 :(得分:-1)
您需要以Javascript可以解释的方式输出PHP数组,例如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