チェックボックス、ラジオボタン、テキストボックスの値に応じて動的な値を取得するためにjquery関数を使用したphpページがあります。何が起こっているのかというと、2 つのアラートを使用したことです
1.) アラート (データ);
2.)アラート(grand_total);
私のJquery関数のajax部分で、「grand_total」で得ている値を確認するだけです。そして、すべてが正常に機能し、アラートは良好で、データはテーブルに適切に挿入されていました.
次に、関数からアラートを削除し、しばらくしてサイト全体のテストを再度開始したところ、mysql テーブルに挿入されていない grand_total の値が見つかりました。
これらのアラートを再度設定して、何が問題なのかを確認すると、すべてが正常に機能し始めました。再び削除され、問題が再び始まりました。何がうまくいかなかったのですか?
これは、 「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') "; データがテーブルに挿入されるかどうかに関係なく、実行されることはありません。