我有一个下拉列表,其中包含从数据库加载的“主题”数据。当我单击一个主题时,应该做的是在文本框内的加载相关的“ 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); ?> ?>
以下是我需要带来价值的文件
<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部分 document.getElementById(“ bookid”)。innerHTML上完成的 ,必须替换为 document.getElementById()。value, 因为我必须将包含值的 HTML元素 放入 HTML元素 ,即Textbox(因为文本框包含value属性) 。
InnerHTML 用于处理不包含 value , div,h1,等的 html元素 。有关详细信息,请参见下面的链接。
http://www.verious.com/qa/what-39-s-the-difference-between-document-get- element-by-id-quot-test-quot-value-and-document-get-element- by-id-quots /
阿贾克斯代码
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(); }
<?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>