我有一个表单,我想通过ajax jQuery帖子保存数据。如果保存按钮是type="submit"
,它不会执行任何此操作只是空警报...我想保存数据并保留在同一表单上的刷新字段...
以下是我的尝试:
$("#saveNewContact").click(function () {
var name = $("#name").val();
var last_name = $("#last_name").val();
$.post("ajax_files/save_mydeals.php", {name: name, last_name: last_name},
success: function(msg){
alert(msg);
});
});
这是我的表格
<form id="myForm" action="#" method="post">
<table id="table_1" class="form_table" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr><td>
<input name="name" id="name" value="" tabindex="5" readonly="" type="text">
<input name="name" id="name" value="" tabindex="5" readonly="" type="text">
<button type="submit" id="update" style="display:none;"
class="save_button saveHEX" name="Update"
value="Update Listing">Save Lead</button></td>
</tr>
</table>
</form>
答案 0 :(得分:15)
这样做
HTML
<form name="frm" method="POST" action="">
<input type="text" name="name" id="name" value="" />
<input type="text" name="last_name" id="last_name" value="" />
<input type="submit" name="Update" id="update" value="Update" />
</form>
你的jQuery
$("#update").click(function(e) {
e.preventDefault();
var name = $("#name").val();
var last_name = $("#last_name").val();
var dataString = 'name='+name+'&last_name='+last_name;
$.ajax({
type:'POST',
data:dataString,
url:'insert.php',
success:function(data) {
alert(data);
}
});
});
所以在insert.php
页面
<?php
$name = $_POST['name'];
$last_name = $_POST['last_name'];
$insert = "insert into TABLE_NAME values('$name','$last_name')";// Do Your Insert Query
if(mysql_query($insert)) {
echo "Success";
} else {
echo "Cannot Insert";
}
?>
希望这能给出一个想法
答案 1 :(得分:8)
此删除$("#saveNewContact").click(function () {
并使用.submit()
jQuery方法不需要点击事件。
还可以使用.serialize,它允许您使用值序列化表单字段并创建urlencoded dataString。
$("#myForm").on("submit",function (e)
{
e.preventDefault();
var formData = $(this).serialize();
$.ajax(
{
type:'post',
url:'receiver url',
data:formData,
beforeSend:function()
{
launchpreloader();
},
complete:function()
{
stopPreloader();
},
success:function(result)
{
alert(result);
}
});
});
答案 2 :(得分:2)
绑定表单的提交而不是$ .post必要的成功,功能就足够了:
$(function() {
$("#myForm").on("submit",function (e) {
e.preventDefault(); // stop the normal submission
var name = $("#name").val();
var last_name = $("#last_name").val();
$.post("ajax_files/save_mydeals.php", {name: name, last_name: last_name},
function(msg){
alert(msg);
$("#name").empty();
$("#last_name").empty();
});
});
});