ajax表单请求仍然重新加载页面

时间:2016-10-02 03:26:03

标签: javascript php ajax forms jquery-mobile

我正在尝试使用带有jquery移动设备的ajax提交表单而不刷新页面并且没有运气..

我有这个表格 -

的index.php:

<script>
function SubmitForm() {
var name = $("#name").val();
$.post("bump.php", { name: name},
function(data) {
 //alert(data);
});
}
</script>


<form method="post" data-ajax="false">
<input name="name" type="hidden" id="name" type="text" value="<?php echo $id; ?>" />
<input type="image" style="height:35px;top:4px;" id="bump" src="../img/bump.png" id="searchForm" onclick="SubmitForm();" value="Send" />
</form>

这是bump.php

$date = date('y/m/d H:i:s');
$id =  $_POST['name'];
$sql = "UPDATE images SET update_date='$date' WHERE id=$id";

    if ($conn->query($sql) === TRUE) {

    } else {
        echo "Error updating record: " . $conn->error;
    }

我想保持自己在页面上的位置,但每次都刷新一次?我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

使用event.preventDefault(); 如果事件可取消,则取消该事件,而不会停止事件的进一步传播。

type="image"的默认行为是提交form因此页面为unloaded

&#13;
&#13;
function SubmitForm(event) {
  event.preventDefault();
  var name = $("#name").val();
  $.post("bump.php", {
      name: name
    },
    function(data) {
      //alert(data);
    });
}
&#13;
<form method="post" data-ajax="false">
  <input name="name" type="hidden" id="name" type="text" value="<?php echo $id; ?>" />
  <input type="image" style="height:35px;top:4px;" id="bump" src="../img/bump.png" id="searchForm" onclick="SubmitForm(event);" value="Send" />
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

用户在onclick`中返回false

&#13;
&#13;
function SubmitForm() {
//event.preventDefault();
var name = $("#name").val();
console.log(name);
$.post("message.html", { name: name},
function(data) {
 alert(data);
});
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<form method="post" data-ajax="false">
<input name="name" type="hidden" id="name" type="text" value="<?php echo $id; ?>" />
<input type="image" style="height:35px;top:4px;" id="bump" src="http://switchon.global2.vic.edu.au/files/2015/07/4x5-1jroh2i.png" id="searchForm" onclick="SubmitForm(); return false;" value="Send" />
</form>
&#13;
&#13;
&#13;