通过submit()将值从文本输入传输到选择输入,反之亦然

时间:2015-10-26 16:07:34

标签: javascript php html submit onchange

我有一个包含3个值的数组。首先,我用3个超链接显示它们。当用户点击链接时,他会收到一个带有3个选项/值的选择输入(预选选项是超链接的值)和文本输入(其值也是超链接的值)。在此之后,我想将新选择的选项的值传递给文本输入,如果我在文本输入上写入一个值(等于数组的一个值),那么我希望选择此选项。

例如:我选择超链接“maria”。文本的值为“maria”,select也选择了“maria”选项。然后我选择了“anna”选项。我希望在文本上看到“anna”的价值。然后我输入“jana”,我也希望看到选择“jana”。

问题是文本在提交后没有保留其值。

我使用了两次onchange='submit()',我认为存在问题。 这是我到目前为止所做的:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <?php

  echo"<form method='post' action='".htmlspecialchars($_SERVER["PHP_SELF"])."'>";

    $user_name = $_REQUEST['user_name'];
        if($_POST['username']){
                $user_name=$_POST['username'];
            }
            if($_POST['users']){
                $user_name=$_POST['users'];
            }
        if(!$user_name){    
            $users_array=['maria','anna','jana'];


    foreach($users_array as $us_name){
                echo "<a href='".htmlspecialchars($_SERVER["PHP_SELF"])."?user_name=".$us_name." '> ".$us_name."</a><br/>";
                }   

        }else{      

            echo $user_name." ";
            echo $_POST['username']." ";
        if($_POST['username']){
                $user_name=$_POST['username'];

            }

            echo $_POST['users'];
        if($_POST['users']){
                $user_name=$_POST['users'];
            }




            echo"<input type='text' id='username' name='username' value='".$user_name."' onchange='submit()' />";
echo"<br><br><br><select id='users' name='users' onchange='submit()'>";

$users_array=['maria','anna','jana'];
        foreach($users_array as $auxvar_user_name)
                                                {
                                                    echo "<option value='".$auxvar_user_name."'"; 
                                                    if($_POST['username'] == $auxvar_user_name)
                                                        {
                                                            echo" selected='selected'";
                                                        } 
                                                    echo">".$auxvar_user_name."</option>";
                                                }

            echo "</select></form>";
        }
            ?>
    </body>
</html>

0 个答案:

没有答案