Загрузка данных из базы данных с помощью php и чистого ajax в текстовое поле

У меня есть один раскрывающийся список, в котором есть данные для «предметов», загруженных из базы данных. когда я нажал на один вопрос, что он должен делать, это связанное с загрузкой значение «subject_id» внутри текстового поля, которое находится чуть ниже раскрывающегося списка. Я не знаю, как принести значение из getbook.php и показать в тексте ввода book_ID.

show_bookid(str) { var xmlhttp; if (str.length == 0) { document.getElementById("bookid").innerHTML = ""; return; } if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { strong text xmlhttp = new ActiveXOjbject("Microsoft.XMLHttpRequest"); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("bookid").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", "getbook.php?q=" + str, true); xmlhttp.send(); } 

getbook.php

 <?php <?php $b = $_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database = new MySQLDatabase(); $sql = "select * from tbl_bkcat where book_id='" . $b . "'"; $result = mysql_query($sql); ?> ?> в <?php <?php $b = $_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database = new MySQLDatabase(); $sql = "select * from tbl_bkcat where book_id='" . $b . "'"; $result = mysql_query($sql); ?> ?> в <?php <?php $b = $_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database = new MySQLDatabase(); $sql = "select * from tbl_bkcat where book_id='" . $b . "'"; $result = mysql_query($sql); ?> ?> 

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

 <form name="bookadd" action="" class="jNice" method="post"> <p> <label>Subject</label> <select name="subject" onChange="show_bookid(this.value);"> <?php while($sel_rows=mysql_fetch_array($subresult)) { ?> <option value="<?php echo $sel_rows['book_id'];?>"> <?php echo $sel_rows[ 'subject']?> </option> <?php } ?> </select> </p> <p> <label>Book_Id</label> <input type="text" id="bookid" class="text-small" />//where i need to load subject id</p> 

Ошибка была сделана в ajax part document.getElementById («bookid»). InnerHTML и должна быть заменена значением document.getElementById ()., Поскольку мне пришлось поместить данные в элемент HTML, который имеет значение cotain, то есть Textbox (в качестве текстового поля содержит атрибут value) ,

InnerHTML используется для манипулирования элементами html, которые не содержат значения , ** div, h1, ** и т. Д. Подробнее см. Ссылку ниже.

http://www.verious.com/qa/what-39-s-the-difference-between-document-get-element-by-id-quot-test-quot-value-and-document-get-element- по-ID-Quot-TES /

Код ajax

  function show_bookid(str) { var xmlhttp; if(str.length==0) { document.getElementById("bookid").value=""; return; } if(window.XMLHttpRequest) { xmlhttp= new XMLHttpRequest(); } else { xmlhttp=new ActiveXOjbject("Microsoft.XMLHttpRequest"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("bookid").value=xmlhttp.responseText; } } xmlhttp.open("GET","getbook.php?q="+str,true); xmlhttp.send(); } 

getbook.php

 <?php $b=$_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database=new MySQLDatabase(); $sql="select * from tbl_bkcat where book_id='".$b."'"; $result=mysql_query($sql); $row=mysql_fetch_array($result); echo $row['Book_id']; ?> в <?php $b=$_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database=new MySQLDatabase(); $sql="select * from tbl_bkcat where book_id='".$b."'"; $result=mysql_query($sql); $row=mysql_fetch_array($result); echo $row['Book_id']; ?> в <?php $b=$_GET['q']; include('includes/security.php'); include('includes/dbconnect.php'); $database=new MySQLDatabase(); $sql="select * from tbl_bkcat where book_id='".$b."'"; $result=mysql_query($sql); $row=mysql_fetch_array($result); echo $row['Book_id']; ?> 

addbook.php

  <form name="bookadd" action="" class="jNice" method="post"> <fieldset> <p><label>Subject</label> <select name="subject" onChange="show_bookid(this.value);"> <?php while($sel_rows=mysql_fetch_array($subresult)) { ?> <option value="<?php echo $sel_rows['book_id'];?>"> <?php echo $sel_rows['subject']?> </option> <?php } ?> </select> </p> <p> <label >Book ID</label> <input type="text" id="bookid" name="book"/> </p> в  <form name="bookadd" action="" class="jNice" method="post"> <fieldset> <p><label>Subject</label> <select name="subject" onChange="show_bookid(this.value);"> <?php while($sel_rows=mysql_fetch_array($subresult)) { ?> <option value="<?php echo $sel_rows['book_id'];?>"> <?php echo $sel_rows['subject']?> </option> <?php } ?> </select> </p> <p> <label >Book ID</label> <input type="text" id="bookid" name="book"/> </p> 

Ваш subject_id не отображается, потому что вы не печатали свой book_id после получения результатов из базы данных в getbook.php

После этого $result=mysql_query($sql);

Write echo $result['your_book_id_field_name'];