В некоторых браузерах неправильно отображается кодировка
Добрый день уважаемые!
Требуется Ваша помощь. Сам справиться не могу. Проблема такая. На сайте есть форма обратной связи на html, php. Если какое-то поле не заполнено и нажимается кнопка Отправить, то появляется не большое, как бы всплывающее, окошко с фразой на русском языке, о том, что надо заполнить это поле. За эти окошки и текстом в них отвечает javascript файл. Так вот: Браузер Google Chrome всегда выдает эти окошки с русским текстом, а вот в FireFox, Edge и Internet Explorer 11, периодически именно в этих окошках слетает кодировка - дней 5 везде нормально, потом вместо русских символов ромбики, а потом через несколько дней опять нормально. И так по кругу. Все страницы сайта в windows-1251. В корне сайте в .htaccess в самом верху строка AddDefaultCharset windows-1251. Создал в директории, где находится этот файл js еще один .htaccess с выше указанной строкой. Ни чего не помогло. В самом файле (он на html, а обработчик на php) формы обратной связи, там где начинается форма есть строка <script language="JavaScript" type="text/JavaScript" charset="windows-1251" src="zapoln_formi.js"></script> А в Google Chrome всегда все нормально. Помогите пожалуйста избавиться от слета кодировки в этих браузерах. Сам сайт http://fanatgusyatnik.ru. Проверить можно так: заходите на сайт, сверху справа нажимаете "Написать мне письмо", попадаете в форму обратной связи и ни чего не заполняя в ней нажимаете "Отправить", появится всплывающее окно с ромбиками вместо фразы Введите Ваше имя! Если какие исходники нужны - скажите, выложу. |
svp,
ошибка не проявилась, но замените в zapoln_formi.js функцию hilite на это function hilite(field) { // подсветить пустое поле, чтобы заполнил пользователь document.my_form.elements[field].style.backgroundColor="#AEC6DE"; } |
Цитата:
Почему так? Заменил как Вы посоветовали. И страницу с формой перезагружал и кзш браузера очищал - результат тот же, ромбики. Пока вернул старый zapoln_formi.js. А в Гугл все нормально. |
Цитата:
|
Цитата:
|
svp,
результат должен был быть в подсветке ошибочного поля -- но раз вам ненужно Цитата:
|
svp,
попробуйте заменить файл целиком на это function hilite(field) { document.my_form.elements[field].style.backgroundColor = "#AEC6DE" } function testData() { if (document.my_form.elements["Name_user"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448\u0435 \u0438\u043c\u044f!\t\n"); hilite("Name_user"); document.my_form.elements["Name_user"].focus(); return false } if (document.my_form.elements["E_mail"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 E-mail!\t\n"); hilite("E_mail"); document.my_form.elements["E_mail"].focus(); return false } if (document.my_form.elements["Subject"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f!\t\n"); hilite("Subject"); document.my_form.elements["Subject"].focus(); return false } if (document.my_form.elements["Message"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435!\t\n"); hilite("Message"); document.my_form.elements["Message"].focus(); return false } if (document.my_form.elements["keystring"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434!\t\n"); hilite("keystring"); document.my_form.elements["keystring"].focus(); return false } }; |
Сейчас зашел и опять все нормально со старым моим файлом.
Ни чего понять не могу. Поставил Ваш новый файл. С ним тоже все нормально с кодировкой и действительно незаполненные поля стали подсвечиваться. Убрал Ваш новый и поставил свой старый. Буду ждать первого слета кодировки и потом поменяю на Ваш. Интересно восстановится ли кодировка с Вашим, а сейчас не поймешь - исправилось или нет, он и с моим старым заработал. У меня к Вам большая просьба. На этом сайте есть еще форма покупки сделанная на основе этой формы обратной связи, только добавлено одно поле и фразы в некоторых этих окнах изменены. Не могли бы Вы и для этого zapoln_formi.js написать новый скрипт? На любом товаре, в магазине, нажать кнопку КУПИТЬ и Вы в этой форме. Я так понял, что у Вас русские символы в нем как-то закодированы, а я вообще-то ни бум-бум в java. Да и БОЛЬШОЕ СПАСИБО ВАМ! |
Цитата:
P.S. У меня в опциях была снята галочка с Авто определения кодировки, включил авто определение и действительно Macintosh. |
svp,
вам описали причину -- пост №8 , сохраняйте все файлы в одной и тойже кодировке Цитата:
function hilite(field) { document.my_form.elements[field].style.backgroundColor = "#AEC6DE" } function testData() { if (document.my_form.elements["Name_user"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448\u0435 \u0438\u043c\u044f!\t\n"); hilite("Name_user"); document.my_form.elements["Name_user"].focus(); return false } if (document.my_form.elements["E_mail"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 E-mail!\t\n"); hilite("E_mail"); document.my_form.elements["E_mail"].focus(); return false } if (document.my_form.elements["Subject"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u043e\u043c\u0435\u0440 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430!\t\n"); hilite("Subject"); document.my_form.elements["Subject"].focus(); return false } if (document.my_form.elements["Subject"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u043e\u043c\u0435\u0440 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430!\t\n"); hilite("Subject"); document.my_form.elements["Subject"].focus(); return false } if (document.my_form.elements["Address"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438!\t\n"); hilite("Address"); document.my_form.elements["Address"].focus(); return false } if (document.my_form.elements["Message"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430 \u0438 \u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e!\t\n"); hilite("Message"); document.my_form.elements["Message"].focus(); return false } if (document.my_form.elements["keystring"].value == "") { alert("\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434!\t\n"); hilite("keystring"); document.my_form.elements["keystring"].focus(); return false } }; |
Часовой пояс GMT +3, время: 22:49. |