我有一個窗體的模態窗口,它應該提交字段數據到數據庫,而不是關閉模式窗口,然後在淡出之前顯示「你已經RSVP'd」模態窗口。數據沒有插入到數據庫
2件事:
1)提交時,模式窗口關閉?!它應該保持開放 2)中的數據不會插入數據庫..
模態窗口HTML
<form id="rsvp-yes" action="#" method="post" name="rsvp-yes">
<label for="email">Your E-mail</label>
<input id="email" class="txt" type="email" name="email" />
<label for="location">Choose your location</label>
<select name="city" id="city">
<option value="None Selected" selected>Select</option>
<option value="Perth">Perth</option>
<option value="Brisbane">Brisbane</option>
<option value="Sydney">Sydney</option>
<option value="Melbourne">Melbourne</option>
</select>
<button id="rsvp">RSVP</button></form></div>
JAVASCRIPT
$(document).ready(function() {
$(".modalbox").fancybox();
$("#rsvp").submit(function() { return false; });
function validateEmail(email) {
var reg = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(email);
}
$("#rsvp").on("click", function(){
var emailval = $("#email").val();
var city = $("#city").val();
var mailvalid = validateEmail(emailval);
if(mailvalid == false) {
$("#email").addClass("error");
}
else if(mailvalid == true){
$("#email").removeClass("error");
}
if(mailvalid == true) {
//&& msglen >= 4
// if both validate we attempt to send the e-mail
// first we hide the submit btn so the user doesnt click twice
$("#rsvp").replaceWith("<em>RSVP'ing you...</em>");
$.ajax({
type: 'POST',
url: 'rsvp-yes.php',
data: $("#rsvp-yes").serialize(),
success: function(data) {
if(data == "true") {
$("#rsvp-yes").fadeOut("fast", function(){
$(this).before("<p><strong>You have been RSVP'd</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}
}
});
PHP
<?php
$email = $_POST['email'];
$city = $_POST['city'];
mysql_connect(myhost,myuser,mypass) or die("Could not connect: " .
mysql_error());
mysql_query("USE mydbname");
mysql_query("INSERT INTO rsvp-yes (ID, email, city)
VALUES ('NULL', '".$email"', '".$city"')");
?>
首先檢查連接是否成立? –
這需要先進行基本的調試。提交按鈕是否被替換? ajax請求被解僱了嗎? ajax請求返回什麼? – hakre
我該如何調試這些?並檢查連接是否建立? – Dave