0
我在用AJAX发布表单中的数据时遇到了问题。并非所有的值都被插入(带有“@”符号的电子邮件)。但是,如果我单独发送,它会被插入。Ajax没有发布一个值
这是jQuery代码:
$("#my_reservation_form").submit(function() {
if($("#terms_checkbox").prop("checked")) {
var data = $("#my_reservation_form").serialize();
//alert(data); for testing
$.ajax({
type: "POST",
data: data,
url: "functions/reservation_form.php",
dataType:"text",
success: function() {
console.log("ok");
},
error: function() {
console.log("error");
}
});
} else {
alert('You have to accept terms');
}
});
PHP端:
$table_id = $_POST['id'];
$date = $_POST['date'];
$time = $_POST['time'];
$people = $_POST['people'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$tel = $_POST['tel'];
$email= $_POST['email'];
$query = "INSERT INTO reservation(table_id,fname,lname,tel,email,reservation_date,time,people) values ('$table_id','$fname','$lname','$tel','$email','$date','$time','$people')";
if ($result = $db->query($query)) {
//echo "Reservation added";
} else {
echo $db->error;
}
$db->close();
通过我使用jQuery验证插件来验证输入的方式。
形式:
<input class="input_text" name="id" type="hidden" value="<?php echo $_POST['table_id'];?>">
<input class="input_text" name="date" type="hidden" value="<?php echo $_POST['date'];?>">
<input class="input_text" name="time" type="hidden" value="<?php echo $_POST['time'];?>">
<input class="input_text" name="people" type="hidden" value="<?php echo $_POST['people'];?>">
<input class="input_text" name="fname" type="text" placeholder="Name">
<input class="input_text" name="lname" type="text" placeholder="Surname">
<input class="input_text" name="tel" type="text" placeholder="Tel">
<input class="input_text" name="email" type="text" placeholder="Email">
<div class="error"></div>
<div id="terms">
<input id="terms_checkbox" type="checkbox" name="terms" checked="checked"><label for="terms">Blah blah I agree</a>
</div>
<div id="terms_text">
<p><?php terms(); ?></p>
</div>
<button class="button_ui" id="button_reserve" type="submit" name="submit">Reserve</button>
</form>
你你做//警报(数据);为了测试你看到电子邮件了吗?它只有当你有@时才起作用。 – 2014-12-02 09:02:08
在此处张贴表格 – 2014-12-02 09:03:11
是的,我看到它,但“@”符号更改为“%40”。 – WilsonG 2014-12-02 09:03:32