可在此处找到:http://syllableapp.com/test
基本上,在Safari,Chrome,Opera,Webkit Nightly等中,表单的工作效果非常出色。在Firefox中,提交它只是...没有做任何事情。这是为什么?
这是我的JavaScript:
$(document).ready(function() {
$('input[type="submit"]').click(function() {
event.preventDefault();
var email = $.trim($('.email').val());
var emailRegEx = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if (email == "" || !emailRegEx.test(email)) {
$(this).effect("shake", { times:2 }, 75);
}
else {
var data = "email=" + email;
$.ajax({
type: "POST",
url: "register_email.php",
data: data,
success: function(data) {
if (data == 1) {
$('form').hide();
$('form').html("<p class='success'>You'll be notified! Welcome aboard.</p>");
$('form').fadeIn(300);
}
else {
$('form').hide();
$('form').html("<p class='error'>Dang, there was an error. <a href='mailto:me@christianselig.com'>Email me?</a></p>");
$('form').fadeIn(300);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Error: " + errorThrown);
$('form').hide();
$('form').html("<p class='error'>Dang, there was an error. <a href='mailto:me@christianselig.com'>Email me?</a></p>");
$('form').fadeIn(300);
}
});
}
});
});
我的PHP:
<?php
$db = new mysqli("localhost", "swuclu_emailer", "etreadmill:(", "swuclu_syllable_emails");
if ($db->connect_error) {
echo "0";
}
else {
$email = $_POST["email"];
$stmt = $db->prepare("INSERT INTO emails (email) VALUES (?)");
$stmt->bind_param("s", $email);
$stmt->execute();
echo 1;
}
?>
除了Firefox之外的每个浏览器到底会发生什么?
答案 0 :(得分:5)
在页面更改时启用控制台中的错误。
您将看到此错误:
ReferenceError: event is not defined
http://syllableapp.com/test/scripts/scripts.js
Line 3
带您进入代码:
$(document).ready(function() {
$('input[type="submit"]').click(function() {
event.preventDefault(); //<--- here
看着那个,你看到没有定义事件。因此错误。
所以将变量事件添加到函数参数列表
$('input[type="submit"]').click(function(event) { //<-- added variable
答案 1 :(得分:3)
在您的scripts.js
文件中
$(document).ready(function() {
$('input[type="submit"]').click(function() {
event.preventDefault();
这应该是
$(document).ready(function() {
$('input[type="submit"]').click(function(event) {
event.preventDefault();
否则事件未定义