Сохранить данные через ajax jQuery сообщение с формой submit
У меня есть форма, и я хочу сохранить данные через 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>
Ответы
Ответ 1
Сделайте это так
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";
}
?>
Надеюсь, что это дает Идею
Ответ 2
Вам не нужно событие click для этого удаления $("#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);
}
});
});
Ответ 3
Привяжите форму submit вместо И не имеет успеха в $.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();
});
});
});