1

这是一个基本的问题,我敢肯定......

我有一个普通的表单,但其中一个字段是一个国家下拉菜单,我用一个外部 xml 脚本填充它:

<?php 
//Build countries dropdown from GeoNames database
$xmlcountries = 'http://ws.geonames.org/countryInfo';
echo '<select name="custom_country" id="custom_country">';
$countries = simplexml_load_file($xmlcountries);
echo '<option value="">Your country</option>';
foreach ($countries->country as $country) {
    echo '<option value="'.$country->geonameId.'|'.$country->countryName.'">'.$country->countryName.'</option>';
}
echo '</select>';

?>

我的表格是这样的:

<form action="update.php" method="post">
    Country:<br />
    <input type="text" name="Country" size="100" /><br />
    State:<br />
    <input type="text" name="State" size="100" /><br />
    City:<br />
    <input type="text" name="City" size="100" /><br />
    <input type="submit" value="Update Database" />
</form>

我希望上面的$country变量代替name="Country"表单中的字段。我怎么做?

明确一点 - 当我提交表单时,我希望国家下拉列表中的值填充$_POST['Country'].

4

3 回答 3

2

似乎您只想替换:

<input type="text" name="Country" size="100" /><br />

有了这个:

<?php

echo '<select name="Country" id="custom_country">';
$countries = simplexml_load_file($xmlcountries);
echo '<option value="">Your country</option>';
foreach ($countries->country as $country) {
    echo '<option value="'.$country->geonameId.'|'.$country->countryName.'">'.$country->countryName.'</option>';
}
echo '</select><br />';

?>
于 2012-07-05T06:45:24.973 回答
1
<input type="text" name="Country" value="<?php echo $country; ?>" size="100" /><br />

value 参数将使用您指定的任何内容预填充该字段,在本例中为国家/地区。

请注意,除非您另有说明,否则用户可以更改此设置,因此这可能对您来说是个问题,具体取决于您的使用方式。

value 属性用于不同的输入类型:

对于“按钮”、“重置”和“提交” - 它定义按钮上的文本 对于“文本”、“密码”和“隐藏” - 它定义输入字段的初始(默认)值 对于“复选框", "radio", "image" - 它定义了与输入相关的值(这也是提交时发送的值) 更多信息

于 2012-07-05T06:29:48.610 回答
1
<?php 
...
echo '<select name="custom_country" id="custom_country" onchange="document.getElementById(\'Country\').value = this.value">';
?>

<input id="Country" type="text" name="Country" size="100" readonly="readonly" />
于 2012-07-05T06:38:27.743 回答