0

我有一个带有一个下拉框(X)和一个文本框(Y)的表单。在 X 下拉框中选择一个值(例如:x2)并在 Y 文本框中输入一个值后,当 我单击提交按钮时,下拉框中的值被重置为第一个值(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> 
4

2 回答 2

2

您还需要向应选择的属性添加一个selected属性option

<option value="x1" <?= ($x === 'x1' ? 'selected="selected"' : '')?> >x1</option>
<option value="x1" <?= ($x === 'x2' ? 'selected="selected"' : '')?> >x1</option>
于 2013-07-29T17:33:22.617 回答
0

selecthtml 元素没有 value 属性,而是在 option 元素上设置 selected 属性:

<select name="X">
    <option value="x1"<?= $_REQUEST["X"]=="x1"?" selected='selected'":"" ?>>x1</option>
    <option value="x2"<?= $_REQUEST["X"]=="x2"?" selected='selected'":"" ?>>x2</option>
于 2013-07-29T17:33:48.770 回答