(转载:www.idcew.com) 如何用选择菜单读取MYSQL数据来更新文本文档
我想更新系列的基础上选择的选项的文本框。例如:我要提交要求某乙,当我选择某乙从下拉下来的文本字段的名称和电子邮件,然后使用一个数据库来填充。如果我再选择的人C从人彗星的DB信息的变化。我相信,这只能是使用JavaScript来实现,但我不确定如何。我使用PHP和MySQL作为后端。 如果数据集是足够小,我会与其他网页的内容提供的有效载荷,在初始请求,并使用JavaScript来更新,无需额外的服务器往返的值。不过,如果你确实想要检索数据的“禁飞区”你可以使用Ajax,它是一个异步请求。 因此,我将如何做到这一点使用jQuery?我拉的数据,但如果我想改变它,而无需刷新页面,而不是它需要通过某种AJAX方法。我知道jQuery或其他东西可以做到这一点,我只是不知道该怎么做。 不幸的是,本教程不走这个水平。我已搜查高和低的这个数据,但没有尚未。有人能帮助我吗?我有大部分的代码,如果这将有助于。 此代码可能不会工作,因为我不认为<OPTION> onClick事件。但是,这至少是概念。 <script type="text/javascript"> function loadUser(name,email) { document.getElementById("name").value=name; document.getElementById("email").value=email; } </script> <form action="action.php" method="POST">
<select name="person"> <?php $result=mysql_query("SELECT * FROM persons"); while($row=mysql_fetch_array($result)) {
$personName=$row['name']; $personEmail=$row['email'];
echo "<option value='$personName' onClick=\"loadUser('$personName','$personEmail');\">$personName</option>";
} ?> </select>
<input type="text" id="name" name="name" placeholder="name" /> <input type="email" id="email" name="email" placeholder="email" /> </form>
,将工作,并做出了强有力的点,只有使用的Ajax / JS,如果没有其他的方式 - 输出是正确的,你需要它是一个很好的方法。
<script type="text/javascript"> window.onload=function() { attachBehaviors(); }; // function attachBehaviors() { document.getElementById('person').onchange=function() { loadUser(this.options[this.selectedIndex].value); // <-- check this, may be incorrect } } function loadUser(optionvalue) { // Always set a default if (optionvalue=='') { // You could alert here but it may just be annoying //alert('Please select a value'); return; // Do nothing if blank } opts = optionvalue.split(':'); var name = opts[0]; var email = opts[1]; document.getElementById('name').value=name; document.getElementById('email').value=email; } </script> <form action="action.php" method="POST"> <select name="person" id="person"> <option value="">Select</option> <?php $result=mysql_query("SELECT * FROM persons"); while($row=mysql_fetch_array($result)) { $personName=$row['name']; $personEmail=$row['email']; echo "<option value=\"$personName:$personEmail\">$personName</option>\n"; } ?> </select> <input type="text" id="name" name="name" placeholder="name" /> <input type="email" id="email" name="email" placeholder="email" /> </form>
|
| 我会做的选择改变它,而不是点击的选项。如果他们不按? (例如,一个国家列表,标签重点,类型为“CA”,它会选择加利福尼亚州。)我也只是继续前进,分隔两个值,所以你可以使所有的JS外部 (转载:www.idcew.com) |