我有一个 php 页面,我使用 jquery 函数根据复选框、单选按钮和文本框的值获取动态值。发生了什么是我使用了两个警报
1.) 警报(数据);
2.)警报(grand_total);
在我的 Jquery 函数的 ajax 部分中,只是为了确保我在“grand_total”中得到什么值。一切正常,警报很好,数据被正确插入到表中。
然后我从函数中删除了警报,过了一段时间我再次开始测试整个站点,我发现 grand_total 的值没有被插入到 mysql 表中。
我再次发出这些警报以检查出了什么问题,一切又开始正常工作。再次删除,问题又开始了。知道出了什么问题吗?
这是来自"xyz.php"的 JQUERY func 的代码片段:
<script type="text/javascript">
$(document).ready(function() {
var grand_total = 0;
$("input").live("change keyup", function() {
$("#Totalcost").val(function() {
var total = 0;
$("input:checked").each(function() {
total += parseInt($(this).val(), 10);
});
var textVal = parseInt($("#min").val(), 10) || 0;
grand_total = total + textVal;
return grand_total;
});
});
$("#next").live('click', function() {
$.ajax({
url: 'xyz_sql.php',
type: 'POST',
data: {
grand_total: grand_total
},
success: function(data) {
// do something;
}
});
});
});
对应的HTML代码:
<form method="post" id="logoform3" action="xyz_sql.php">
<input type="text" name="Totalcost" id="Totalcost" disabled/>
<input type="submit" id="Next" name="next"/>
这是来自*"xyz_sql.php"*的代码:
<?php
session_start();
include ("config.php");
$uid = $_SESSION['uid'];
$total= mysql_real_escape_string($_POST['grand_total']);
$sql="INSERT INTO form2 (total,uid)VALUES('$total','$uid');";
if($total > 0){
$res = mysql_query($sql);
}
if($res)
{
echo "<script> window.location.replace('abc.php') </script>";
}
else {
echo "<script> window.location.replace('xyz.php') </script>";
}
?>
最后但并非最不重要的一点:echo " window.location.replace('abc.php') "; 无论数据是否插入表中,都不会执行。