我使用jQuery& amp;创建了一个 Ajax联系表单PHP 即可。它适用于IE,FF,Chrome,Opera,Safari,ios ...... 但不能在Android上运行。当我点击按钮时,它只显示"正在加载......"消息,不再运行。所以我想也许是因为Ajax。我在Android 4.2.2上使用Chrome。 这是javascript文件:
$(document).ready(function() {
$('#contactForm').submit(function() {
// check form status
if($(this).data('formstatus') !== 'submitting') {
// Set variables
var form = $(this),
formData = form.serialize(),
formUrl = 'php/contact.php',
formMethod = form.attr('method'),
responseAlert = $('#responseAlert');
// Set form status to 'submitting'
form.data('formstatus', 'submitting');
// Show waiting alert
responseAlert.hide().addClass('waiting-alert').text('Loading...').fadeIn(300);
// Send data to server
$.ajax({
url: formUrl,
type: formMethod,
data: formData,
success: function(data) {
// Set variable
var responseData = $.parseJSON(data),
klass = '';
//Check response Data
switch(responseData.status) {
case 'error':
klass = 'error-alert';
break;
case 'success':
klass = 'success-alert';
break;
}
//Show response alert
responseAlert.fadeOut(300, function() {
$(this).removeClass('waiting-alert').addClass(klass).text(responseData.alert).fadeIn(300, function() {
setTimeout(function() {
responseAlert.fadeOut(300, function() {
if (responseAlert.hasClass('success-alert')) {
$('#name, #mail, #message').val('');
}
$(this).removeClass(klass);
form.data('formstatus', 'idle');
});
}, 4000);
});
});
}
});
}
// Prevent from submitting form
return false;
});
});
这是我的php文件:
if($_SERVER['REQUEST_METHOD'] == "POST") {
// Set recipient email address and subject
$recipient = 'recipient@gmail.com';
$subject = 'New message form Rainy Website';
// Set variables sanitize input with filter_var()
$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$mail = filter_var($_POST['mail'], FILTER_SANITIZE_EMAIL);
$msg = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
// Validate input
// check if input is empty
if(empty($name) || empty($mail) || empty($msg)) {
$status = 'error';
$alert = 'Please fill out all the fields!';
//echo 'You have to fill all the field!';
} elseif(strlen($name) < 3) { // if name length < 3
$status = 'error';
$alert = 'Your name is too short!';
//echo 'Your name is too short!';
} elseif(!filter_var($mail, FILTER_VALIDATE_EMAIL)) { // validate email
$status = 'error';
$alert = 'Invalid email address!';
//echo 'Invalid email!';
} elseif(strlen($msg) < 10) { //if message length < 10
$status = 'error';
$alert = 'Your message is too short! Please write something more!';
//echo 'Your message is too short! Please write something more!';
} else {
$header = 'From: '.$mail."\r\n";
// Send email
$send_mail = mail($recipient, $subject, $msg, $header);
// Check if email was sent successfully or not
if(!$send_mail) {
$status = 'error';
$alert = 'Sorry, your email could not be sent! Please try again later!';
} else {
$status = 'success';
$alert = 'Hi '.$name.'. Thank you for your email!';
}
}
// Return JSON data
$data = array(
'status' => $status,
'alert' => $alert
);
echo json_encode($data);
exit;
} // End main If
请帮助我,谢谢!