感谢阅读。我已经尝试过其他类似问题的答案,但到目前为止还没有。我正在尝试更新表单内的表内的值,因此在文件的第一部分是 isset “saveImport”,这是 a 我用来通过URL发送id的标签:
if (isset($_POST['saveImport'])) {
$id = $_POST['id'];
}
标签:
<a name="saveImport" href="./?id=<?= $row['id']; ?>" class="saveImport btn btn-success col-xs">Save</a>
我确实在URL中获取了ID值,但由于已在同一文件中更新,我假设它在变量通过AJAX发布之前刷新页面:
<script type="text/javascript">
$(document).ready(function() {
$('.saveImport').click(function() {
var imp_id = id.id;
var imp_href = $(id).attr('href');
alert(imp_href);
$.ajax({
url: "./",
data: {id : imp_id},
type: "POST",
success: function(data){
alert(id);//send this ID to the PHP variable without
//refreshing the file
}
});
});
});
我正在获取类.saveImport,因为它位于一个表中,它显示来自数据库的值,因此它在while循环中,如果我使用ID,它将导致冲突,因为ID将重复。
我已经创建了PHP函数来更新在ISSET为真时执行的值,所以我真正的问题是执行ISSET并在里面获取用AJAX发布的ID,这样我就可以在UPDATE中使用ID了功能。现在,如果我点击 a 标记,它会通过URL发送ID,页面会刷新,但ID的值不会进入 $ id = $ _POST ['id ];
感谢您的时间。
答案 0 :(得分:1)
这应该有用。
将ajax网址更改为您的php文件名(我的是t.php)。
用php中的数据替换99。 (使用了id。不使用href)
<?php
if (isset($_POST['saveImport'])) {
print_r( $_POST );
exit;
}
?>
<a name="saveImport" id='99' href="./?id=99" class="saveImport btn btn-success col-xs"'>Save</a>
<script type="text/javascript">
$('.saveImport').click(function(event) {
var imp_id = this.id;
$.ajax({
url: "t.php",
data: {id : imp_id, saveImport: 1},
type: "POST",
success: function(data){
alert( data );//send this ID to the PHP variable without
//refreshing the file
}
});
event.preventDefault();
});
</script>
答案 1 :(得分:0)
.preventDefault()
会阻止链接加载目标网页...然后,ajax将继续。
$('.saveImport').click(function(event) {
event.preventDefault();