Nethra_G Ответов: 0

Заполнение элементов ввода формы(текстовых) при вводе одного из полей без обновления HTML-формы.


Я не могу заполнить поля имени клиента, электронной почты и адреса в html-форме после ввода поля customer_phone_number.
когда я ввожу номер телефона клиента и перемещаю курсор, я хочу, чтобы мой скрипт отправлял номер телефона в php-файл, извлекал данные из таблицы клиентов в базе данных и отправлял их в скрипт, а скрипт заполнял поля ввода html без обновления страницы, чтобы я мог заполнить другие поля и отправить форму.

код, который я пробовал, не извлекает никаких данных. пожалуйста, помогите мне заставить мой код работать.

Что я уже пробовал:

this is my ajax code

function showUser(str) {
  if (str=="") {
    document.getElementById("full_name").innerHTML="";
	document.getElementById("email").innerHTML="";
	document.getElementById("address").innerHTML="";
	
    return;
  }
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (this.readyState==4 && this.status==200) {
		var myObj = JSON.parse(this.responseText);
        document.getElementById("full_name").innerHTML = myObj.full_name;
        document.getElementById("email").innerHTML=myObj.email;
		document.getElementById("address").innerHTML=myObj.address;
    }
  }
  xmlhttp.open("GET","getinfo.php?q="+str,true);
  xmlhttp.send();
}

this is my html code

		<form name="testform">
		
		<h1> customer information </h1>
		Order_no:
		<input type="text" name = "order_no" id="order_no"><br>
		<!-- i was able to auto generate the order_no field with the last record table in the database -->
		customer_phone_number:
		<input type="text" name="customer_phone_number" id="customer_phone_number" onpointermove="showUser(this.value)"><br>
		customer_full_name:
		<input type="text" name="full_name" id="full_name"><br>
		customer_email:
		<input type="text" name="email" id="email"><br>
		customer_address:
		<input type="textarea" name="address" id="address"><br>
		
	   <!-- i will be taking many other information for my application-->
		<input type="submit" name="save" value = "save">

</form>


this is my php code getinfo.php

<?php

	$host = 'localhost';
	$user = 'root';
	$pass = '';
	$dbname = 'yukba';
	
	$conn = mysqli_connect( $host,$user,$pass,$dbname );
	$q = $_GET['q'];
	$myObj->full_name = "";
	$myObj->email = "";
	$myObj->address = "";
	
	if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
	}
	
	$sql = "SELECT FULL_NAME,EMAIL,ADDRESS FROM customers WHERE CUSTOMER_PHONE_NUMBER= {$q}";
	$result = mysqli_query($conn, $sql);
	
	if (mysqli_num_rows($result) > 0) {
    
    while($row = mysqli_fetch_assoc($result)) {
	
	$myObj->full_name = $row['FULL_NAME'];;
	$myObj->email = $row['EMAIL'];
	$myObj->address = $row['ADDRESS'];
	
	$myJSON = json_encode($myObj);

	echo $myJSON;
        
    }
	} else {
    echo "0 results";
	}

?>

Richard Deeming

Используйте инструменты разработчика Вашего браузера, чтобы узнать, есть ли какие-либо ошибки скрипта, а также изучить запрос XHR, чтобы увидеть, что отправляется и возвращается из вашего PHP-скрипта.

ThilinaMD

сначала проверьте, работает ли sql-запрос без ошибок, и верните результат. Затем проверьте xmlhttp responseText с помощью предупреждения(this.responseText);

0 Ответов