我有2个php html表单,都包含1个选择列表。在第一种形式中,我有一个选择列表,要求用户选择他们的状态。根据第一页上的状态选择,当用户单击提交时,第二个选择列表应显示该状态的邮政编码。
我在执行此任务时遇到困难,因为他们2个选择列表在2个不同的页面上,我知道如果使用javascript如果他们在同一个但我有点难过,因为他们在不同的页面上。我不知道如何将它们联系在一起。
State* <select id="state" name="state"">
<option value="">Select</option>
<option value="OKC">OKC</option>
<option value="NYC">NYC</option>
<option value="CAL">CAL</option>
</select><br />
因此,如果用户从第一页上的第一个列表中选择OKC,则第二页上的第二个列表应仅显示OKC的邮政编码
答案 0 :(得分:0)
如果您的select
元素绝对需要2个不同的PHP页面,则可以使用HTTP参数。例如,你可以让第一个表单有一个提交按钮,它可以带你到第二个PHP页面:
firstpage.php:
<form action="secondpage.php" method="get">
<select id="state" name="state">
<option value="">Select</option>
<option value="OKC">OKC</option>
<option value="NYC">NYC</option>
<option value="CAL">CAL</option>
</select>
<input type="submit" value="Next page" />
</form>
提交按钮会将您的浏览器转到secondpage.php
,但根据您的状态选择,它会附加一个参数,例如secondpage.php?state=OKC
。
在secondpage.php
上你可以使用这个参数:
$state = $_GET['state'];
使用PHP语句动态生成<select>
元素:
<?php
$state = $_GET['state'];
$postcodes = null;
if($state == "NYC")
{
$postcodes = array("postcode1", "postcode2");
}
if($state == "OKC")
{
$postcodes = array("postcode3", "postcode4");
}
?>
<form action="anotherpage.php" method="get">
<select id="postcode" name="postcode">
<?php
foreach ($postcodes as $p)
{
echo '<option value="'.$p.'">'.$p.'</option>';
}
?>
</select>
<input type="submit" value="Next page" />
</form>
当然有更有效的方法可以解决这个问题,但这应该会给你一个想法。