У меня есть настройка формы, но по какой-то причине JS для отправки формы работает в Chrome, но не в IE9 или Safari. Интересно, что в Chrome, где кнопка отправки не работает, никакая информация не передается.
Вот моя кнопка отправки -
<a href="javascript: validate(); return false;"><img type="submit" src="lib/send_feedback.jpg" border="0" class="feedback-submit-img" /></a>
Вот что JS называет
// Submit form to next page
function submitForm() {
// document.forms["feedbackform"].submit();
document.feedbackform.submit();
}
// Submit form and validate email using RFC 2822 standard
function validateEmail(email) {
// Modified version original from: http://stackoverflow.com/a/46181/11236
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[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 re.test(email);
}
// Return true if email field is left unchanged
function originalText(email){
var defaultMsg;
defaultMsg = "Enter your email address (optional)";
if(defaultMsg == email){
return true;
}
return false;
}
// Verify or decline with error message
function validate(){
$("#result").text("");
var email = $("#email").val();
if ((validateEmail(email)) || originalText(email)) {
submitForm();
} else {
$("#result").text(email + " is not a valid email.");
$("#result").css("color", "red");
}
return false;
}
$("form").bind("submit", validate);
Для второй части моей проблемы, которая может или не может быть связана с проблемой JS, -
echo $POST['satisfaction'];
echo $POST['user_email'];
echo $POST['comments'];
if(isset($POST['user_email'])){
echo 'true';
} else {
echo 'false';
}
Если вы хотите лучше посмотреть на страницу, которую я редактирую вот ссылка на jsfiddle
редактировать
По запросу Марко я удалил ссылку вокруг кнопки отправки и поместил событие onClick на саму кнопку. Это решило проблему как в IE, так и в Safari. Теперь мой оставшийся вопрос / проблема заключается в том, почему данные POST не передаются правильно на следующую страницу.
Вот полный источник с запрошенным Джорджем. - index.php
Источник страницы передается - feedback-accept.php
Кроме того, как было сказано / опубликовано, на какой сайт StackOverflow предпочитают публиковать исходные тексты?
В ответ на комментарий Брайана, если я не смогу использовать сбой без возможного нарушения данных POST, что будет хорошей альтернативой / обходным путем?