我有一个表单,通过该表单我想上传用户名称,该名称工作正常,但希望在上传后立即显示,然后点击"保存"按钮(提交类型)没有重新加载页面。现在,名称上传,但只在我重新加载页面时出现。任何建议?请不要建议使用load(),因为它与不同的浏览器有兼容性问题。
<div id="nameform">
//contains code to upload name via form
</div>
<div id="name">
<?php
$query1=mysqli_query($dbc,"select * from users where Email='".$_SESSION['Email']."'");
$row=mysqli_fetch_assoc($query1);
$name=$row['name'];
if ($name!="")
echo "$name";
else echo "Your name please....";
?>
</div>
$("#btn").click(function() {//#btn is a submit button in the form
document.getElementById("name").style.display="block";
document.getElementById("nameform").style.display="none";
});
$("#formname").submit(function () {
$.ajax({
url:"formname.php",
data:$("#formname").serialize(),
type:"POST",
success:function(data){
console.log(data);
if(data=="xyz"){
$("#formname")[0].reset();
$("#formname").on("click",".sframe",f(0));
}
},
error:function(data){
alert("Network error");
}
})
return false;
});
答案 0 :(得分:0)
我假设您在ajax页面formname.php中编写了插入代码。在Ajax调用中,如果名称已成功插入数据库,则使用选择查询
获取名称$query1=mysqli_query($dbc,"select * from users where Email='".$_SESSION['Email']."'");
$row=mysqli_fetch_assoc($query1);
$name=$row['name'];
并回显用户名。 其他 echo&#34; 0&#34;用于错误处理。
现在在你的ajax调用脚本中而不是
if(data=="xyz"){
$("#formname")[0].reset();
$("#formname").on("click",".sframe",f(0));
}
把
if(data!=0){
$("#name").text(data); // It will put the name in the div
$("#formname").on("click",".sframe",f(0));
}
else
{
alert("Data insertion error");
}