Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML选择上次选择的下拉列表值?_Php_Html - Fatal编程技术网

Php HTML选择上次选择的下拉列表值?

Php HTML选择上次选择的下拉列表值?,php,html,Php,Html,我现在正在处理一个注册表,特别是,如果注册验证中出现错误,我将重新显示用户输入到输入中的任何信息 通常,当用户点击“提交”时,如果出现错误,页面将刷新,并将其回显,表单将重新显示。问题是某些字段中有时存在真正有效的信息,通过重新标记这些数据,可以使用value属性和类似的isset()函数重新显示这些信息(当然,如果该数据已经发布,在本例中它已经发布): 我想它是selected=“selected”。或者只是“选择” 下面是一个如何实现该功能的快速示例: case "value0":

我现在正在处理一个注册表,特别是,如果注册验证中出现错误,我将重新显示用户输入到输入中的任何信息

通常,当用户点击“提交”时,如果出现错误,页面将刷新,并将其回显,表单将重新显示。问题是某些字段中有时存在真正有效的信息,通过重新标记这些数据,可以使用value属性和类似的
isset()
函数重新显示这些信息(当然,如果该数据已经发布,在本例中它已经发布):

我想它是selected=“selected”。或者只是“选择”

下面是一个如何实现该功能的快速示例:

case "value0":
    $selected0 = "selected";
    break;
case "value1":
    $selected1 = "selected";
    break;

<option value="value0" <?php echo $selected0;?>></option>
<option value="value1" <?php echo $selected1;?>></option>
案例“value0”:
$selected0=“selected”;
打破
案例“value1”:
$selected1=“selected”;
打破
>
我想它是selected=“selected”。或者只是“选择”

下面是一个如何实现该功能的快速示例:

case "value0":
    $selected0 = "selected";
    break;
case "value1":
    $selected1 = "selected";
    break;

<option value="value0" <?php echo $selected0;?>></option>
<option value="value1" <?php echo $selected1;?>></option>
案例“value0”:
$selected0=“selected”;
打破
案例“value1”:
$selected1=“selected”;
打破
>

您必须将
selected=“selected”
添加到特定选项中。像这样:

<select name="region">
    <option value="opt1">Option 1</option>
    <option value="opt2" selected="selected">Option 2</option>
    <option value="opt3">Option 3</option>
    <option value="opt4">Option 4</option>
</select>

选择1
选择2
选择3
选择4
使用此代码时,选择选项2

在pehe中,您必须检查特定选项是否等于输入

<option value="opt4"<?php if ($region == "opt2"){ echo ' selected="selected"'; } ?>>Option 4</option>

您必须将
selected=“selected”
添加到特定选项。像这样:

<select name="region">
    <option value="opt1">Option 1</option>
    <option value="opt2" selected="selected">Option 2</option>
    <option value="opt3">Option 3</option>
    <option value="opt4">Option 4</option>
</select>

选择1
选择2
选择3
选择4
使用此代码时,选择选项2

在pehe中,您必须检查特定选项是否等于输入

<option value="opt4"<?php if ($region == "opt2"){ echo ' selected="selected"'; } ?>>Option 4</option>

如果选项数量不多,可以采用一种方法:
在每个选项中输入代码:

<select>
<option selected="<?php echo (isset($region) && $region=='Volvo') ? $region : ''; ?>">Volvo</option>
<option selected="<?php echo (isset($region) && $region=='Saab') ? $region : ''; ?>">Saab</option>
<option selected="<?php echo (isset($region) && $region=='Mercedes') ? $region : ''; ?>">Mercedes</option>
<option selected="<?php echo (isset($region) && $region=='Audi') ? $region : ''; ?>">Audi</option>
</select>


如果选项数量不多,可以采用一种方法: 在每个选项中输入代码:

<select>
<option selected="<?php echo (isset($region) && $region=='Volvo') ? $region : ''; ?>">Volvo</option>
<option selected="<?php echo (isset($region) && $region=='Saab') ? $region : ''; ?>">Saab</option>
<option selected="<?php echo (isset($region) && $region=='Mercedes') ? $region : ''; ?>">Mercedes</option>
<option selected="<?php echo (isset($region) && $region=='Audi') ? $region : ''; ?>">Audi</option>
</select>

<select name="cmbCondition">
                                    <option value="Excellent" <?php echo __selected('cmbCondition',"Excellent")?>>Excellent</option>
                                    <option value="Good" <?php echo __selected('cmbCondition',"Good")?>>Good</option>
                                    <option value="Poor" <?php echo __selected('cmbCondition',"Poor")?>>Poor</option>          
                                </select>

>好
像

<select name="cmbCondition">
                                    <option value="Excellent" <?php echo __selected('cmbCondition',"Excellent")?>>Excellent</option>
                                    <option value="Good" <?php echo __selected('cmbCondition',"Good")?>>Good</option>
                                    <option value="Poor" <?php echo __selected('cmbCondition',"Poor")?>>Poor</option>          
                                </select>

>好
function build\u select($name,array$options=NULL,$selected=NULL)
{
foreach($value=>$option的选项)
$return.=($value!=$selected)“.$option.”:“.$option.”;
返回“.$return.”;
}
echo build_select('region',array('Lorem'=>'Ipsum','Auckland'=>'Auckland','Ipsum'=>'Lorem'),'Auckland');
HTML


乱数假文
奥克兰
洛勒姆
函数构建\u选择($name,array$options=NULL,$selected=NULL)
{
foreach($value=>$option的选项)
$return.=($value!=$selected)“.$option.”:“.$option.”;
返回“.$return.”;
}
echo build_select('region',array('Lorem'=>'Ipsum','Auckland'=>'Auckland','Ipsum'=>'Lorem'),'Auckland');
HTML


乱数假文
奥克兰
洛勒姆

基于阵列动态创建选项。 用法应该非常简单

<?php

function rennder_options($options = array(), $selection = null) {

    if (!is_array($options)) {
        return false;
    }
    $result = "";
    foreach($option as $option) {
        $option_str =  '<option value="'.$option['value'].'"';
        if ($selection !== null && $option['value'] == $selection){
            $option_str .= ' selected="selected"';
        }
        $option_str .= '>'.$option['name'].'</option>';
        $result .= $option_str;
    }
    return result;
}

$options = array(
    array( "value" => "opt1", "name" => "Option 1" )
    array( "value" => "opt2", "name" => "Option 2" ),
    array( "value" => "opt3", "name" => "Option 3" ),
);

?>
<select name="region">
<?php echo render_options($options, $_POST['region']); ?>
</select>

基于阵列动态创建选项。
用法应该非常简单

<?php

function rennder_options($options = array(), $selection = null) {

    if (!is_array($options)) {
        return false;
    }
    $result = "";
    foreach($option as $option) {
        $option_str =  '<option value="'.$option['value'].'"';
        if ($selection !== null && $option['value'] == $selection){
            $option_str .= ' selected="selected"';
        }
        $option_str .= '>'.$option['name'].'</option>';
        $result .= $option_str;
    }
    return result;
}

$options = array(
    array( "value" => "opt1", "name" => "Option 1" )
    array( "value" => "opt2", "name" => "Option 2" ),
    array( "value" => "opt3", "name" => "Option 3" ),
);

?>
<select name="region">
<?php echo render_options($options, $_POST['region']); ?>
</select>


标记没有value属性。@SonalKhunt我知道,我提到过。:)@Antilogical,我认为你应该考虑使用JavaScript来设置这个选择,而不是搞砸一个服务器端…例如使用jQuery<代码>$('option[value=“Auckland”]')。attr('selected','selected')。。。您还可以为HTML表单编写函数。。。看看这个。。。好的,你知道php中的abt魔术函数,你可以使用它。。。我把我的密码作为答案。。。标记没有值属性。@SonalKhunt我知道,我提到过。:)@Antilogical,我认为你应该考虑使用JavaScript来设置这个选择,而不是搞砸一个服务器端…例如使用jQuery<代码>$('option[value=“Auckland”]')。attr('selected','selected')。。。您还可以为HTML表单编写函数。。。看看这个。。。好的,你知道php中的abt魔术函数,你可以使用它。。。我把我的代码作为答案…所以如果他们选择了不同的选项(比如opt3),就不会涉及PHP,然后它会出错吗?它仍然返回opt3,而不是默认的opt2?只是编辑了我的帖子。您必须检查当前选项是否与
$region
相等,如果是,则回显
selected=“selected”
那么您说我必须为每个选项执行一个if语句?当然有一个更简单的方法可以做到这一点,因为我有大约20个选择。可以使用javascript选择选项,也可以使用php动态创建选项。你有一个可能的数组,然后生成带有foreach循环的选项。如果您需要这些选项的详细信息,请让我知道Rajat Singhal实现了javascript版本:),因此如果他们选择了不同的选项(比如opt3),那么就不会涉及PHP,然后会出错吗?它仍然返回opt3,而不是默认的opt2?只是编辑了我的帖子。您必须检查当前选项是否与
$region
相等,如果是,则回显
selected=“selected”
那么您说我必须为每个选项执行一个if语句?当然有一个更简单的方法可以做到这一点,因为我有大约20个选择。可以使用javascript选择选项,也可以使用php动态创建选项。你有一个可能的数组,然后生成带有foreach循环的选项。如果您需要这些选项的详细信息,请让我知道Rajat Singhal实现了javascript版本:)对于这样一个简单的任务来说,这肯定是太多的代码了。我在下拉菜单中有大约20个选项。对于这样一个简单的任务来说,代码肯定太多了。我在下拉菜单中有大约20个选项。如果您有几个选项,那么提前使用switch语句是有意义的。它会为每个echo保存一个新的比较。是的,比多个if语句好,但是对于这样一个简单的任务来说,它似乎还是太简单了?我认为这相当有效。别忘了swtich语句。所以,抓住region并切换($region){case etc}。如果您使用“selected”作为参数,请在代码验证程序中对我进行双重检查