Javascript 基于上一个输入文本填充第二个输入文本
我正在构建一个表单,希望在其中插入一些文本输入、一个数字,然后在下一个输入文本中,使用与数据库中的数字匹配的名称自动填充。我已经测试了许多“解决方案”,我在这里和其他网站上看到的,但没有一个有效 我的脚本代码是:Javascript 基于上一个输入文本填充第二个输入文本,javascript,php,html,Javascript,Php,Html,我正在构建一个表单,希望在其中插入一些文本输入、一个数字,然后在下一个输入文本中,使用与数据库中的数字匹配的名称自动填充。我已经测试了许多“解决方案”,我在这里和其他网站上看到的,但没有一个有效 我的脚本代码是: $("#numero").blur(function () { $.post(convoc.php, { numero: $(this).val() }, function (data) { $("#nome").val(data); }); });
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
});
if (@$_POST['numero'] != "")
$numero = $_POST['numero'];
$query = "SELECT Nome from ******* where Numero = $numero";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo json_encode($row['Nome']);
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
},"json"); // This Line
我的convolac.php代码:
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
});
if (@$_POST['numero'] != "")
$numero = $_POST['numero'];
$query = "SELECT Nome from ******* where Numero = $numero";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo json_encode($row['Nome']);
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
},"json"); // This Line
(这工作正常,因为我已经测试了echo,它正在打印正确的名称)
我的第一个输入文本的id是:“numero”,第二个输入文本的id是“nome”
脚本函数中是否有我做错的地方
HTML代码是:
<body onload="load()" style="padding-top: 20px;">
<form action="convoc.php" method="post">
<div id="myform">
<table align="center">
<tr>
<td><input type="text" id="numero" name="numero"></td>
<td><input type="text" id="nome" name="nome"></td>
<td><input type="button" id="add" value="Convocar" onclick="Javascript:addRow()"></td>
</tr>
</table>
</div>
</form>
</body>
js代码是:
function addRow() {
var numero = document.getElementById("numero");
var nome = document.getElementById("nome");
var table = document.getElementById("myTableData");
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.insertCell(0).innerHTML= '<input type="button" value = "Delete" onClick="Javacsript:deleteRow(this)">';
row.insertCell(1).innerHTML= numero.value;
row.insertCell(2).innerHTML= nome.value;
}
function deleteRow(obj) {
var index = obj.parentNode.parentNode.rowIndex;
var table = document.getElementById("myTableData");
table.deleteRow(index);
}
function load() {
console.log("Page load finished");
}
函数addRow(){
var numero=document.getElementById(“numero”);
var nome=document.getElementById(“nome”);
var table=document.getElementById(“myTableData”);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
row.insertCell(0.innerHTML='';
row.insertCell(1).innerHTML=numero.value;
row.insertCell(2).innerHTML=nome.value;
}
函数deleteRow(obj){
var index=obj.parentNode.parentNode.rowIndex;
var table=document.getElementById(“myTableData”);
表.删除行(索引);
}
函数加载(){
日志(“页面加载完成”);
}
(不,我在浏览器中没有收到任何错误)如下更改脚本代码
echo json_encode(array("result"=>$row['Nome']));
第一个参数corac.php
应该是'corac.php'
还可以如下更改php代码
echo json_encode(array("result"=>$row['Nome']));
只需在末尾添加Json:
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
});
if (@$_POST['numero'] != "")
$numero = $_POST['numero'];
$query = "SELECT Nome from ******* where Numero = $numero";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo json_encode($row['Nome']);
$("#numero").blur(function () {
$.post(convoc.php, { numero: $(this).val() }, function (data) {
$("#nome").val(data);
});
},"json"); // This Line
请显示HTML。显示HTML代码。是否定义了load()函数?您可以发布ajax调用的响应吗?浏览器控制台中是否有错误?是否动态添加id为“numero”的元素?您使用的jQuery版本是什么?在控制台区域进行调试可能会有所帮助。Nishant,我手动插入id为“numero”的元素。jQuery的版本是答案的1.6.2版本,但仍然不起作用。我对此感到非常疯狂,我打赌这是代码中缺少的一个愚蠢的小东西…再次感谢答案,但仍然不起作用。我不知道为什么,但它不起作用。php正在发送正确的结果,因为我再次检查了它,它发送了以下内容:{“result”:“Manuel Fernandes Martins”}问题应该在blur事件中,但不知道为什么。我想我会放弃,试着用另一种方式来做这件事。非常感谢您抽出时间。我在您的桌子上没有看到tagFintan Creaven的身份证,希望有一个?模糊(函数)不仅需要字段的id?