У меня есть этот JS-код:Динамические поля ввода и один Javascript
function tickname(str,inpt) {
if (str.length == 0) {
document.getElementById(inpt).value = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(inpt).value = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "tck_name.php?q=" + str, true);
xmlhttp.send();
}
}
Согласно SQL PHP данных запрос динамически создает поля ввода
<input type="text" name="event_name_de" size="80" onkeyup="tickname(this.value,tick_de)" required><br>
<input type="text" id="tick_de" name="ticket_name_de" size="80" value="" readonly>
<input type="text" name="event_name_en" size="80" onkeyup="tickname(this.value,tick_en)" required><br>
<input type="text" id="tick_en" name="ticket_name_en" size="80" value="" readonly>
etc...
Проблема заключается в том, когда я печатаю текст в первом поле (name = "event_name_de"), а затем другое (name = "event_name_en"), значение изменяется только во вводе (name = "ticket_name_de"). Как исправить код, значение ввода изменится в соответствии с текущей логикой сценария?
P.s. простите за мой английский сломано :)
в ваших функциях OnKeyUp, я думаю, что вторые пары должны быть строкой, tickname (this.value, 'tick_de') –
да, это помогло! : D спасибо, глупая ошибка ... – rokas