Я отлаживаю код, написанный кем-то другим - я также новичок в Ajax и JS.Приведенный ниже код использует Ajax (Prototype JavaScript framework, версия 1.6.0.1) для отправки простой контактной формы и обновления страницы ответом.Он отлично работает с IE8 и не работает с Firefox.Я проследил сбой до параметров сообщения.Целевой файл mail.php не получает никаких параметров POST, когда Firefox является браузером.Не только значения отсутствуют - параметры не определены в посте.URL действителен.Форма, файлы Ajax JS и сценарий mail.php находятся в одном домене.
Я пробовал варианты определения параметров var, как показано в нескольких других публикациях переполнения стека (встроенных, различных методов назначения и т. Д.).).Все дали те же результаты, что и код ниже.
Любая подсказка, что не так?
FF results
Please try again. responseText='', url='http://domain.com/builder/mail.php',
form_name='dom', form_message='testing', form_email='dom@domain.com',
form_to='info@domain.com'
IE8 results
Message Sent!
JS function
function sendForm(F)
{
$("contact_form").hide();
$("ajax-loader").show();
var url = site_url+'mail.php';
var form_message = escape($("message").value);
var form_name = escape($("name").value);
var form_address = escape($("address").value);
var form_phone = escape($("phone").value);
var form_email = escape($("email").value);
var form_how_learn = escape($("how_learn").value);
var form_to = escape($("to").value);
var params = {message: form_message,
name: form_name,
address: form_address,
phone: form_phone,
email: form_email,
how_learn: form_how_learn,
to: form_to};
var ajax = new Ajax.Updater(
'contact_form',
url,
{
method: 'post',
parameters: params,
onComplete: function (response)
{
$("ajax-loader").hide();
if (response.responseText == "ok")
{
$("contact_form").innerHTML = "<p style=\"color:green;\">Message Sent!</p>";
$("contact_form").show();
}
else
{
// Debug code added
$("contact_form").innerHTML = "<p style=\"color:red;\">Please try again."+
" responseText='"+response.responseText+"',"+
" url='"+url+"',"+
" form_name='"+form_name+"',"+
" form_message='"+form_message+"',"+
" form_email='"+form_email+"',"+
" form_to='"+form_to+"'"+
"</p>";
$("contact_form").show();
}
},
onFailure: function ()
{
$("ajax-loader").hide();
$("contact_form").innerHTML = "<p style=\"color:red;\">Please try again.</p>";
$("contact_form").show();
}
}
);
return false;
}