单击SUBMIT或REFRESH按钮后,DROP DOWN BOX将重置为第一个值

时间:2013-07-29 17:29:36

标签: php html

我有一个带有一个下拉框(X)和一个文本框(Y)的表单。在X下拉框中选择一个值(例如:x2)并在Y文本框中输入值时 我点击了SUBMIT按钮,下拉框中的值将重置为第一个值(x1)。当我点击刷新按钮时,我会注意到同样的行为。 但是文本框Y不是这种情况。任何人都可以帮我一个示例代码。或者请告诉我哪里出错了以及我需要改变什么。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>history plugin demo</title>
    </head>
    <body>
    <?php
        $x = ( !empty( $_REQUEST['X'] ) ? $_REQUEST['X'] : null );
        $y = ( !empty( $_REQUEST['Y'] ) ? $_REQUEST['Y'] : null );

    ?>
        Ajax load<BR>
            <form id="myForm" action='fields.php' method='GET' rel="history">
                X <BR>
                <select name="X"  value="<?=$x;?>">
                <option value="x1">x1</option>
                <option value="x2">x2</option>
                </select><BR> <BR>
                Y <BR>
                <input type="text" name="Y"  value="<?=$y;?>"> <BR> <BR>
                <input id="sub" type="submit" value="Search" align="centre"/>
            </form>

            <!--other part of code!-->
    </body> 
</html> 

2 个答案:

答案 0 :(得分:2)

您还需要为应选择的selected添加option属性

<option value="x1" <?= ($x === 'x1' ? 'selected="selected"' : '')?> >x1</option>
<option value="x1" <?= ($x === 'x2' ? 'selected="selected"' : '')?> >x1</option>

答案 1 :(得分:0)

select html元素没有值属性,而是在选项元素上设置selected属性:

<select name="X">
    <option value="x1"<?= $_REQUEST["X"]=="x1"?" selected='selected'":"" ?>>x1</option>
    <option value="x2"<?= $_REQUEST["X"]=="x2"?" selected='selected'":"" ?>>x2</option>