надеются задать другой вопрос здесь, так как главный один ответили на эту тему:Результатов по раскрывающемуся в текстовых полях
How fill form data from Dropdown?
Хотя его ABIT о продолжении.
Я пытаюсь использовать функцию javascript и onChange() для прокрутки файлов, а затем отображать их в полях ввода текста и текстовой области в форме, однако я был бы признателен за любую помощь в разрешении моего javascript. Поскольку он стоит прямо сейчас, я могу вытащить файл в раскрывающееся меню, но когда я выбираю его в раскрывающемся меню, ничего не происходит или не заполняется в форме.
отредактировано для обновления Все ошибки, похоже, разрешены, однако при выборе файла из выпадающего меню ничто не перемещается в текстовые поля.
Javascript:
<script>
function CodeChange() {
var filesContentJS = "$filesContents"
var index = filesContentJS.selectedIndex;
var e = document.getElementById("CodeList");
var strUser = e.options[e.selectedIndex].value;
strUser = "0";
integer document.getElementById("CodeId").value = 0;
document.getElementById("CodeName").value = "";
document.getElementById("CodeValue").value = "";
}
</script>
обновленный Javascript
И форма HTML и сам PHP для справки:
<input type="hidden" name="Action" value="EDIT" /><input type="hidden" name="Selection" id="Selection" value="-1"><div>Below is the list of your saved codes. To edit your codes, select it from the list.</div>
<select size="1" name="CodeList" id="CodeList" onchange="CodeChange();"><option value="0">(Add New Code)</option>
<?php
$directory = $directory = 'users/' . $_SESSION['username'];
$filesContents = Array();
$files = scandir($directory) ;
foreach($files as $file)
{
if (! is_dir($file))
{
$filesContents[$file] = file_get_contents($directory , $file);
echo "<option>" . $file . "</option>";
}
}
?>
</select>
<h3>Saved Codes</h3>
<form method="post" action="/evo/avsaveprocess.php">
<input type="hidden" name="Action" value="SAVE" />
<input type="hidden" name="CodeId" id="CodeId" value="0" />
<table width="100%" border="0">
<tr>
<td>Description:</td>
<td><input type="text" name="CodeDescription" size="40" maxlength="50" id="CodeName" value="" /></td>
</tr>
<tr>
<td valign="top">Code:</td>
<td>
<textarea rows="10" style="width:99%" name="Code" id="CodeValue"></textarea>
</td>
</tr>
</table>
<input type="submit" value="Save" />
</form>
Спасибо MOKI, я отредактировал мой оригинальный пост, чтобы показать изменения, которые я сделал. Не уверен, правильно ли я их разместил. Он вернул неподключенную синтаксическую ошибку в} else {, и говорит, что мой CodeChange() не определен. Не уверен, что мне там не хватает. –
Строка после else document.getElementById ("Выбор"). Value = "-1"; Тебе это не нужно. Теперь у вас есть переменная strUser, поэтому используйте strUser = "-1" – mokiSRB
обновил ее. Теперь единственная ошибка, которая возвращается, - это uncaught typerror: не может читать неопределенные неопределенные на этой строке. var strUser = e.options [e.selectedIndex] .value; –