Показать сообщение отдельно
  #1 (permalink)  
Старый 20.09.2023, 15:28
Интересующийся
Отправить личное сообщение для Sheratan Посмотреть профиль Найти все сообщения от Sheratan
 
Регистрация: 13.09.2023
Сообщений: 22

Ответ Ajax в нужную строку таблицы формы
В форме имеется таблица с дополняемыми строками скриптом JS
При вводе в первое поле "артикул" по AJAX делается запрос и в div получаем результат для выбора нужной позиции
При нажатии на выбранную позицию нужно заполнить поля название и код (item_name и item_code) в той строке таблицы в которой был ввод артикула

В JS новичок и совсем не понимаю как получить строку с полями и в нее же внести значения из одного общего DIV. Или целесообразнее делать вывод результатов в DIV для каждой строки таблицы?

Прошу помочь или подсказать или скинуть примеры подобной реализации

function find_item(str) {
 if (str.length==0) {
   document.getElementById("livesearch").innerHTML="";
    document.getElementById("livesearch").style.border="0px";
   return;
  }
 if (window.XMLHttpRequest) {
    // код для IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
  }else {  // код для IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 xmlhttp.onreadystatechange=function() {
   if (this.readyState==4 && this.status==200) {
    document.getElementById("livesearch").innerHTML=this.responseText;
      document.getElementById("livesearch").style.border="1px solid #A5ACB2";
    }
  }
 xmlhttp.open("POST","test_ajax_out.php?q="+str,true);
 xmlhttp.send();
}


<form id="myForm">
<table>
<tr>
    <td><input type="text" name="article[]" onkeyup="find_item(this.value)" placeholder="Артикул" /></td>
    <td><input name="item_name[]" placeholder="Название" /></td>
    <td><input name="item_code[]" placeholder="Код" /></td></tr>
<tr>
    <td><input type="text" name="article[]" onkeyup="find_item(this.value)" placeholder="Артикул" /></td>
    <td><input name="item_name[]" placeholder="Название" /></td>
    <td><input name="item_code[]" placeholder="Код" /></td></tr>
<tr>
    <td><input type="text" name="article[]" onkeyup="find_item(this.value)" placeholder="Артикул" /></td>
    <td><input name="item_name[]" placeholder="Название" /></td>
    <td><input name="item_code[]" placeholder="Код" /></td></tr>
</table>   
<div id="livesearch">найденные варианты</div> 
</form>


Ответ AJAX - по запросу будут получены данные
<a href="#" onclick="" id="aa11">aaaaa</a><br />
<a href="#" onclick="" id="bb22">bbbbb</a><br />
<a href="#" onclick="" id="cc33">ccccc</a><br />
<a href="#" onclick="" id="dd44">ddddd</a><br />
<a href="#" onclick="" id="ee55">eeeee</a><br />
Ответить с цитированием