Я пытаюсь заполнить текстовые поля на основе значения, введенного в первом поле текстового поля из базы данных, но я не получаю никакого ответа, когда я ввожу какое-то значение в первое поле текстового поля. Пожалуйста, проверьте кодКак заполнить второе текстовое поле на основе значения, введенного в первом текстовом поле, используя jquery?
Javascript:
<script type="text/javascript">
$("#tin").blur(function() {
$.post("tin_handle.php",
{
tin: $(this).val()
},
function (data){
$("#cname").val(data.cname);
$("#caddress").val(data.caddress);
});
</script>
Tin_handle.php:
<?php
$tn = trim($_POST['tin']);
require_once("sqlconnect.php");
$q="SELECT CONCAT(address,',',city,',',state) AS caddress,cname,tin FROM company WHERE tin=$tn;
$r = @mysqli_query ($dbc, $q);
//$arr=array();
while ($row = mysql_fetch_array($r))
{
$arr=array('cname'=>$cname, 'caddress'=>$caddress);
echo json_encode($arr);
}
?>
Вы пробовали отладки ответов в Chrome или поджигатель? Работает ли ваш PHP-файл? – j08691
Вам действительно нужно начать с чего-то, что работает и продвигаться по сложности. Если это ваш фактический код, то первое, что выделяется, заключается в том, что jQuery не готов к подготовке документа. Php Я предполагаю, что у вас были проблемы с вырезанием, потому что это явно ничего не сделает, и это несмотря на то, что вы используете незащищенный пользовательский ввод для создания запросов к базе данных. Это не просто плохо, это опасно – Sinetheta
Посмотрите на код, эта строка здесь: $ q = "SELECT CONCAT (адрес, ',', город, ',', состояние) AS caddress, cname, tin FROM company WHERE tin = $ tn; не имеет «в конце». Это артефакт, вызванный вставкой в Stack Overflow, или это также присутствует в коде? – Sean