Я собираю простую форму php для автоматического заполнения данных в форме PHP. Я проверил другие примеры на этой странице Auto fill form input fields from database using AJAX, которые выглядят одинаково, но я не могу понять свою проблему. Я понимаю риск SQL инъекции на Msql запроса, но это просто формаAjax Auto populate php Form
мой текстовые поля и авто Заселите скрипт
<style>
form input { padding: 3px; }
</style>
<p><u><strong>Kindly enter the Trip ID to Generate a Budget.</u></strong></p>
<form align="center">
Ref No:<br />
<input name="refno" type="text" class="ed" /><br />
Distance:<br />
<input name="distance" type="text" id="distance" class="ed" onkeypress="return isNumberKey(event)" /><br />
Fuel Cost/Litre<br/>
<input name="fuelcostperl" type="text" id="fuelcostperl" class="ed" onkeypress="return isNumberKey(event)" /><br />
<br><hr><table border=0 cellpadding=2>
<tr><td>Req No:</label></td><td><input type='text' name='req_id' id="req_id" size=5 onchange="updateBudget()"></td></tr>
<tr><td colspan=3>The following are details of the budget:</td></tr>
<tr><td>Initials:</td><td><input type='text' id='init' /></td></tr>
<tr><td>First Name:</td><td><input type='text' id='fname'/></td></tr>
<tr><td>Othernames:</td><td><input type='text' id='Othernames'/></td></tr>
<tr><td>Email Address:</td><td><input type='text' id='email'/></td></tr>
<td>Trip Date:</td><td><input type='text' id='tripdate'/></td></tr>
<tr><td>Drop Date:</td><td><input type='text' id='dropdate'/></td></tr>
<tr><td>Destination:</td><td><input type='text' id='destination'/></td></tr>
<tr><td>Number Of Persons:</td><td><input type='text' id='no_persons'/></td></tr>
<tr><td>Vote:</td><td><input type='text' id='vote'/></td></tr>
<tr><td>Trip Purpose:</td><td><input type='text' id='tripreason'/></td></tr>
</table>
</form>
<script>
var ajax = getHTTPObject();
function getHTTPObject()
{
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
//alert("Your browser does not support XMLHTTP!");
}
return xmlhttp;
}
function updateBudget()
{
if (ajax)
{
var reqValue = document.getElementById("req_id").value;
if (reqValue)
{
var url = "populatebudget.php";
var param = "?req_id=" + escape(reqValue);
ajax.open("GET", url + param, true);
ajax.onreadystatechange = handleAjax;
ajax.send(null);
}
}
}
function handleAjax()
{
if (ajax.readyState == 4)
{
budgetarr = ajax.responseText.split(",");
var init = document.getElementById('init');
var fname = document.getElementById('fname');
var othernames = document.getElementById('othernames');
var email = document.getElementById('email');
var tripdate = document.getElementById('tripdate');
var dropdate = document.getElementById('dropdate');
var destination = document.getElementById('destination');
var no_persons = document.getElementById('no_persons');
var vote = document.getElementById('vote');
var tripreason = document.getElementById('tripreason');
init.value = budgetarr[0];
fname.value = budgetarr[1];
othernames.value = budgetarr[2];
email.value = budgetarr[3];
tripdate.value = budgetarr[4];
dropdate.value = budgetarr[5];
destination.value = budgetarr[6];
no_persons.value = budgetarr[7];
vote.value = budgetarr[8];
tripreason.value = budgetarr[9];
}
}
</script>
<tr align="center">
<a href="transmanager.php">Back to Main Page</a>
</tr></div>
</body>
</html>
мой PHP ссылку на базу данных
<?php
//you'll have to replace your credentials here
$mysqldatabase = "kuvs";
$mysqluser = "root";
$mysqlpassword = "";
//connect to db
$DBCONN = mysql_connect("localhost", $mysqluser, $mysqlpassword);
if (!$DBCONN)
die("Couldn't connect to MySQL Server.");
//perform lookup
$query = "SELECT init,fname,othernames,email,tripdate,dropdate,destination,no_persons,vote,tripreason FROM request WHERE req_id=" . mysql_real_escape_string($_GET['req_id']);
$result = mysql_db_query($mysqldatabase, $query) or die(mysql_error());
//print out results
$row = mysql_fetch_array($result);
echo $row['init'] . "," . $row['fname'] . "," . $row['othernames'] . "," . $row['email'] . "," . $row['tripdate'] . "," . $row['dropdate'] . "," . $row['destination'] . "," . $row['no_persons'] . "," . $row['vote'] . "," . $row['tripreason'];
?>
Мой вопрос заключается в том, что я пытался заполнить все остальные поля, но показаны только первые два.
Добавить 'console.log (budgetarr);' after' budgetarr = ajax.responseText.split (","); ', чтобы увидеть, какой ответ вы получаете, если ответ не правильно, чем проверить ваш php-код, иначе отлаживайте свой javascript-код. – madforstrength