我有一個html頁面上的兩種形式,並希望使用第一種形式提交從php/mysql中選擇數據庫查詢和編碼使用JSON填充我的第二種形式的選擇選項沒有離開頁面。第一種形式和PHP發送數組,但第二種形式沒有被填充。不知道我缺少什麼,任何幫助表示讚賞。見HTML,PHP和下面的查詢......從表單提交使用getJSON填充選擇選項
HTML
<form method="post" action="find.php" id="find" >
<div class="input-box">
<label>Last Name</label>
<input type="text" name="lname"/>
</div>
<div class="input-box">
<label>Phone</label>
<input type="text" name="phone" />
</div>
<div class="submit">
<input type="submit" value="Select" />
</div>
</form>
<div><h1>Checkin</h1></div>
<form method="post" action="checkin.php" id="contact-us">
<div id="contact-us-message"></div>
<input type="hidden" name="date" id="date" />
<select id="clients" name="clients">
</select>
<div class="submit">
<input type="submit" value="Submit" />
</div>
</form>
PHP
$lastname = $_POST['lname'] ;
$number = $_POST['phone'] ;
$q = "select Site_ID, FirstName, LastName, Email, Phone, Message, ParentName from ClientInfo where LastName = '$lastname' and Phone = '$number'";
$sql = mysql_query($q);
$data = array();
while($row = mysql_fetch_array($sql, true)){
$data[] = $row;
};
echo json_encode($data);
SCRIPT
<script type="text/javascript">
$("#find").submit(function(){
$.getJSON('checkin.php',function(data){
var items = '';
$.each(data,function(name,value) {
items += "<option type='text' value='"+value.Site_ID+"'>"+value.FirstName+" "+value.LastName+" </option>" ;
});
$("#clients").append(items);
});
});
</script>
編輯
好吧我修復了ID問題,現在當提交它去php頁面和回聲出正確的數組。但它不應該離開html頁面。任何人都知道爲什麼?
ARRAY
[{"Site_ID":"10000007","FirstName":"Drew","LastName"...}]
您的腳本與HTML完全無關,因爲它僅適用於HTML中不存在的id爲「test」的元素。嗯,也許這是整個問題? – AndreKR
首先檢查瀏覽器控制檯中的AJAX請求,以查看正在發送的內容以及正在返回的內容......如果有的話。如果您有500個錯誤,那麼會出現php代碼問題。這些細節需要知道,以便將問題隔離到腳本或服務器代碼 – charlietfl