【发布时间】:2013-01-31 22:49:41
【问题描述】:
尝试使用 JQuery 的功能之一来实现 AJAX。我一直在尝试 .load()、.ajax() 或 .post() 以各种方式,通过使用 Stack Overflow 上的一些示例但没有成功。
我有一个表单,它查询 oracle DB,并返回另一个表单和一个结果表。我让它以传统的方式使用单独的 PHP 文件(重新加载一个全新的页面)。现在我只想加载内容而不刷新页面。
启动表单 PHP (checkin_start.php):输入条形码并提交……
<div class="content" id="bodyContent">
<form id="usualValidate" class="mainForm" method="post" action="">
<label>Barcode:<span>*</span></label>
<input type="text" class="required" name="startBarcode" id="startBarcode"/>
<input type="submit" value="submit" class="blueBtn" id="startBtn" />
</form>
</div>
处理 PHP (checkin_process.php):一个新的表单和来自 php 函数的查询结果被加载到 id="bodyContent"...
<form id="checkinProcess" class="mainForm" method="post" action="">
<label>Barcode:<span>*</span></label>
<input type="text" class="required" name="processBarocdes" id="processBarcodes"/>
<input type="submit" value="submit" class="blueBtn" id="submitBtn" />
</form>
<!-- Shipment List Table -->
<?php
// Accept a parameter from #usualValidate form and run query.
$barcode = $_POST['startbarcode'];
search_shipped_barcode($barcode);
?>
Functions PHP (functions.php):返回结果表……
<?php
function search_shipped_barcode($barcode){
<--! DB connection & query -->
echo "<table>";
<--! echo table results -->
echo "</table>";
}
?>
我想无论我选择哪一个,我都可能遇到同样的问题,所以这是我的 .post() 尝试。我不太明白如何将表单数据传递给我的 php 函数并将数据返回...
$(document).ready(function() {
$("#usualValidate").submit(function(sevt) {
sevt.preventDefault();
var startBC = $("#startBarcode").val();
$.post("checkin_process.php",
{"startBarcode" : "startBC"},
function(data) {$("#bodyContent").html(data)},
"html");
});
});
感谢您的任何见解......
【问题讨论】:
-
在您的示例中,删除“startBC”周围的引号:
'startBarcode': startBC。您当前正在传递字符串“startBC”而不是变量的值。