我已经问过两个关于将信息放入表单并使用它来填充页面的问题,还有一个问题是当您根据您在表单下拉列表中选择的内容提交表单时将您重定向到一个页面。现在我需要这两件事都适用于同一个表单。
从表单中获取信息并使用它来填充下一页的代码是:
<?php
$firstname = $_GET['personsName'];
echo "My Name is" .$firstname;
?>
表格看起来像这样:
<form action="letter.php" method="get">
<input type="text" name="personsName"></input>
<input type="submit" value="submit">
</form>
选择页面的代码是:
$pages = array('Page 1' => 'page1.php', 'Page 2' => 'page2.php', 'Page 3' => 'page3.php');
if (array_key_exists($_POST['dropdown-name'], $pages)) {
header("Location: " . $pages[$_POST['dropdown-name']]);
} else {
echo "Error processing form"; // submitted form value wasn't in your array, perhaps a hack attempt
}
我需要这两个都适用于相同的表格,我只是无法弄清楚。我尝试的是:
<form action="<?=$pages?>" method="POST">
<input type="text" name="name" /><br />
<select name="letter">
<option value="Page 1">
Page 1
</option>
<option value="Page 2">
Page 2
</option>
<option value="Page 3">
Page 3
</option>
</select>
<input type="submit" value"Print" />
</form>
这显然是错误的。我需要这个表单来获取输入的信息,重定向到选择的页面,然后用输入到表单中的其他信息填充页面。问题是我不知道如何获得我已经拥有的答案。感谢所有的帮助!
当前代码是这样的:
<script type="text/javascript">
$(function UpdateFormAction(){
alert('Launched event handler');
var form = document.getElementById('MyForm');
var list = document.getElementById('PageList');
alert('List item numer ' + list.selectedIndex);
var desiredAction = list.options[list.selectedIndex].value
alert('Desired action set to ' + desiredAction);
form.action = desiredAction;
});
</script>
形式为:
<form id="MyForm" action="letter.php" method="POST">
<input type="text" name="name" /><br />
<select id="PageList" name="letter" onchange="UpdateFormAction();">
<option value="letter.php">Page 1</option>
<option value="letter2.php">Page 2</option>
<option value="letter3.php">Page 3</option>
</select>
<input type="submit" value"Print" />
</form>