2015-09-02 3 views
0

У меня есть этот 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. простите за мой английский сломано :)

+0

в ваших функциях OnKeyUp, я думаю, что вторые пары должны быть строкой, tickname (this.value, 'tick_de') –

+1

да, это помогло! : D спасибо, глупая ошибка ... – rokas

ответ

0

Я сделал скрипку за ответ, который я дал в комментариях

https://jsfiddle.net/ak00nta8/

<input type="text" name="event_name_de" size="80" onkeyup="tickname(this.value,'tick_de')" required><br> 
Смежные вопросы