【发布时间】:2020-11-02 22:45:00
【问题描述】:
我正在发送从同一页面上的表单收集的数据,用于通过 ajax 将查询插入到返回成功/失败的 php 页面。但不是 ajax 调用,即使在返回 false 后,我的表单也会被提交。我的表单字段名称值与 ajax 后提交的数据名称相同。php 页面上没有错误,因为我尝试了实际的表单提交并且它有效。为什么即使在 return false 我的表单被提交之后。控制台有一些错误,但刷新页面时它会丢失。
这是我的表单域
<form method="POST" action="manuAthuntication.php" id="myform" onsubmit="return editAdmin()">
j查询码
<script>
function editAdmin(){
console.log("Here");
var aname=$("#aname").val();
var aemail=$("#aemail").val();
var depname=$("#depname").val();
var acontact=$("#acontact").val();
var adesi=$("#adesi").val();
var apass=$("#apass").val();
/* var myInput = document.getElementById('did');*/
/*myInput.disabled = false;*/
var hdid=$("#hdid").val();
var haid=$("#haid").val();
// $('#aidd').val(uid);
// var uid = sessionStorage.getItem("adminidedit");
$.ajax
({
type:'post',
url:'manuAthuntication.php',
data:{
editAdmin:"editAdmin",
aname:aname,
haid:haid,
aemail:aemail,
depname:depname,
acontact:acontact,
adesi:adesi,
apass:apass,
hdid:hdid
},
success:function(response) {
if(response=="success")
{
// console.log(" succes here");
$("#error").text(" added succesfully");
}
else
{
// console.log("here");
$("#succmssg").text("ID already exist. choose new one");
}
}
});
return false;
}
</script>
【问题讨论】:
-
您可以在控制台中选择“保留日志”选项,这样即使刷新后仍然可以看到错误内容
-
如果你想不进行 javascript 表单处理
manuAuthentication.php,你需要阻止默认的表单处理。 jQuery 的event.preventDefault()方法是一个很好的解决方案。