У меня есть массив с 3 значениями. Сначала я показываю их с 3 гиперссылками. Когда пользователь щелкает ссылку, он получает выбранный вход с 3 параметрами / значениями (предварительно выбранный параметр является значением гиперссылки) и текстовым вводом (его значение также является значением гиперссылки). После этого я хочу передать значение новой выбранной опции в текстовый ввод, и если я напишу значение (равное одному значению массива) в текстовом вводе, то я хочу, чтобы эта опция была выбрана.
Например: я выбираю гиперссылку «Мария». Текст имеет значение «Мария», и выбор также выбрал параметр «Мария». Затем я выбираю параметр «Анна». Я ожидаю увидеть значение «анна» в тексте. Затем я набираю «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>
Задача ещё не решена.
Других решений пока нет …