我在一个表单中有两个按钮。更新按钮更新数据,工作正常。我正在尝试实现一个删除按钮,它将删除记录,根据该记录,按钮属性值中会回显任何数字。现在它什么也没做。
<form id="update_form" action="" method="post">
<button id="update" type="submit" value="update">Update</button>
<button id="unprocess" type="button" value="'.$order_no.'">DEL</button>
</form>
我的Jquery
$("#unprocess").click(function (e) {
e.preventDefault();
$.ajax({
url: 'unprocess.php',
data: $(this).val(value),
type: 'POST',
success: function (data) {
$(".error").css('display','none');
$(".success").css('display','block');
$('#search').focus();
},
error: function(data){
$(".success").css('display','none');
$(".error").css('display','block');
}
});
});
我的查询:
$order = $_POST['value'];
$sql = "DELETE FROM table WHERE ord_no = $order";
$query = odbc_exec($conn, $sql);
我对行数据进行了更改:$(this(.val(value(,现在浏览器至少捕获了按钮的值,但它没有传递给查询。任何想法
尝试data: { value: $(this).val() }
而不是data: $(this).serialize("value")
要解决您的问题:
(1( 作为一个测试,从PHP中回显该值,以确保您拥有正确的东西。
PHP端
<?php
$v = $_POST["value"];
die ($v);
AJAX成功功能:
alert(data);
return false;
然后,(2(创建一个带有硬编码值的PHP文件的独立版本。查看它是否插入到数据库中。
你会很快发现你的问题
$("#unprocess").click(function (e) {
e.preventDefault();
$.ajax({
url: 'unprocess.php',
data: {order_no:this.value},
type: 'POST',
success: function (data) {
$(".error").css('display','none');
$(".success").css('display','block');
$('#search').focus();
},
error: function(data){
$(".success").css('display','none');
$(".error").css('display','block');
}
});
});
https://jsfiddle.net/giantomakin/jh8d47kr/