详情请参见所附图片。
简介
1.用户点击“查看”
1.用户选择“年份”
1.显示该“年份”的所有记录
对于第2步,当用户单击“选择年份”时,整个页面刷新,这将返回到第1步。我的意图是 AJAX 来显示记录,但我不确定错误在哪里。
有两个php文件:
A)order_view. php
这个php显示到第2步。
B)order_view_ByYear.php
在第3步,用户点击“选择年份”后, AJAX 在底部显示记录。
A)order_view. php
<script type="text/javascript">
function submitYear(sno)
{
var cusid=sno;
var yearSelDD=document.getElementById("selectYear");
var yearSel = yearSelDD.options[yearSelDD.selectedIndex].value;
alert("cusid = " + cusid + " yearSel = " + yearSel);
$.ajax({
type:'POST',
url:'order_view_ByYear.php',
data:{
cusid:cusid,
yearSel:yearSel,
wrapper:"testing"
},
//If successful, which part of webpage to change?
success: function(result)
{
$('#showOrders').html(result);
}
});
}
</script>
...
some codes
...
//============================== Display that User's Orders using ajax ==============================
$sql2 = $mysqli->query("select * from orders where customerid='$cusid' ORDER BY orderid DESC");
if ($sql2->num_rows > 0) {
while ($row2 = $sql2->fetch_assoc()) {
// Populate the YearArray() DropDownList
$rowYear = date('Y', strtotime($row2["date"]));
if($YearToAdd != $rowYear)
{
$YearToAdd = $rowYear;
array_push($YearArray, $YearToAdd);
}
}
}
?>
<table><tr><td>
<form method="post">
<select>
<?php
// Iterating through the YearArray()
foreach($YearArray as $item){
echo "<option value='$item'>$item</option>";
}
?>
</select>
<input type="submit" value="Select Year" id="selectYear" class="send" onClick="javascript:submitYear($ssno)"/>
</form>
</td></tr></table>
<br/>
<?php
echo "<div id=\"showOrders\"></div>";
...
some codes
...
B)order_view_ByYear.php
<?php
error_reporting(0);
include "../database_connection.php";
$cusid = $_POST['cusid'];
$YrSelect = $_POST['yearSel'];
echo "CustID = ". $cusid . " Year = " . $YrSelect;
?>
我添加了一个警报,但点击按钮“选择年份”后没有警报发生。我的预期结果是它应该在底部回显2个变量CustID & Year。相反,整个页面自行刷新并返回到步骤1。
非常感谢。
1条答案
按热度按时间yr9zkbsy1#
这是因为您使用
form
和input type="submit"
来提交它,用button type="button"
替换它,或者使用onsubmit
event handler
来通过jQuery
提交它。或者: