不使用load()重新加载div

时间:2014-06-25 07:23:14

标签: javascript php jquery html5 forms

我有一个表单,通过该表单我想上传用户名称,该名称工作正常,但希望在上传后立即显示,然后点击"保存"按钮(提交类型)没有重新加载页面。现在,名称上传,但只在我重新加载页面时出现。任何建议?请不要建议使用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;
 });

1 个答案:

答案 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");
  }