我正在努力工作几个小时,无法让它工作
我的ajax电话
$('.button').click( function() {
var mail = $("#mail_content").val();
alert(mail);
$.ajax({
type: "POST",
url: "process.php",
data: "mail="+ mail,
success: function(){
alert("success");
}
});
});
我的process.php
<?php
// echo "<pre>";
// print_r($_POST);
// echo "</pre>";
include 'config.php';
include 'lib.php';
$db = dbConnect();
$mail = quote_smart($_POST['mail']);
//insert, update, select, delete
$query = "INSERT INTO mail VALUES ('', '$mail')";
$result = insertQuery($query);
dbClose($db);
echo "entry saved";
?>
我的表格
<div class="email">
<div class="email_title">GET NOTIFIED FOR THE GRAND OPENING<br /> </div>
<div id="contact_form">
<form id="mail" name="mail" action="" method="post" enctype="multipart/form-data">
<fieldset>
<label for="mail" id="email_label">YOUR EMAIL</label>
<input type="text" name="mail_content" id="mail_content" size="30" value="" class="text-input" />
<input type="submit" name="submit" class="button" id="submit_btn" value="SAVE" />
</fieldset>
</form>
</div>
</div>
我忽略了什么吗?
当我将process.php代码放在表单中的操作时,它可以工作
答案 0 :(得分:1)
我看到的第一件事是,您的.button
是提交输入,因此当您点击它时,将提交表单,而不是ajax调用。
将其设为按钮
<input type="button" name="submit" class="button" id="submit_btn" value="SAVE" />
答案 1 :(得分:1)
只需更改您的ajax调用,如下所示......这也解决了使用enter问题提交的问题。
$('#mail').submit( function() {
var mail = $("#mail_content").val();
alert(mail);
$.ajax({
type: "POST",
url: "process.php",
data: "mail="+ mail,
success: function(){
alert("success");
}
});
return false;
});