У меня возникли проблемы с этим … Надеемся автоматически заполнить поля ввода текста в моей форме после выбора имени пользователя из раскрывающегося списка. Массив пользователей поступает из mysql db. Не уверен, что я правильно написал javascript. Сначала мой массив, который будет просто вызван из db как $ users. Спасибо, что посмотрели.
<?php $users=array ( "User" => array ( "0" => array ( "id" => "6", "username" => "bsmith", "full_name" => "Buddy Smith" ), "1" => array ( "id" => "2", "username" => "lsmith", "full_name" => "Libbie Smith" ), "2" => array ( "id" => "4", "username" => "asmith", "full_name" => "Andy Smith" ) ) ) ?>
то javascript:
<script type="text/javascript"> var ids = new Array(); var use = new Array(); var ful = new Array(); <?php foreach($users as $key=>$value) { echo "ids[" . $key . "] = '" . $value['User']['id'] . "';\n"; echo "use[" . $key . "] = '" . $value['User']['username'] . "';\n"; echo "ful[" . $key . "] = '" . $value['User']['full_name'] . "';\n"; } ?> function Choice() { x = document.getElementById("users"); x.value = y.options[y.selectedIndex].text; document.getElementById("ids") = ids[y.selectedIndex]; document.getElementById("use") = use[y.selectedIndex]; document.getElementById("ful") = ful[y.selectedIndex]; } } </script>
то мой html:
<form name="form1" method="post" action=""> <select name="users" onChange='Choice();'><option> </option> <?php foreach ($users as $key=>$value) { echo '<option value="'.$key.'">'.$value['User']['username'].'</option>'; } ?> </select> <p><input type="text" id="ids" name="id" ></p> <p><input type="text" id="ful" name="full_name" ></p> </form>