Показано с 1 по 13 из 13

Тема: формы, JS, Mozilla

  1. #1

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    При введении на сайте форм для отправки сообщений перестают работать ролловеры, написанные на JS (при чем только в Mozille FireFox, в Опере и IE все нормально).
    Это мозилловский глюк или можно что-то сделать?

  2. #2

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Это не глюк. Это ошибка в коде.
    В частности, Firefox не допускает некоторых "сокращений", которые прекрасно воспринимаются IE и Оперой... Представьте конкретный код, разберемся...

  3. #3

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    Фрагменты кода (относительно форм):

    function verify()
    {
    var str=document.inp.Phone.value;
    var int=parseInt(str);
    if ( int == 1 || int == 2 || int == 12 )
    {
    alert("Зима");
    return true;
    }
    }






    <table width="100%" border="0">
    <tr>
    <td background="images/bg.gif" align="left">


    Название предприятия</p>
    </td>
    <td background="images/bg.gif" align="left">
    <form name="inp" OnSubmit="return verify()">
    <input name="Firm" size="20">
    </td>
    </tr>
    <tr>
    <td background="images/bg.gif" align="left">*Контактное лицо</td>
    <td background="images/bg.gif" align="left">
    <input name="Person" size="20">
    </td>
    </tr>
    <tr>
    <td background="images/bg.gif" align="left">*Телефон</td>
    <td background="images/bg.gif" align="left">
    <input name="Phone" size="20">
    </td>
    </tr>
    <tr>
    <td background="images/bg.gif" align="left">E-mail:</td>
    <td background="images/bg.gif" align="left">
    <input name="Email" size="20">
    </td>
    </tr>
    <tr>
    <td background="images/bg.gif" align="left">Текст:</td>
    <td background="images/bg.gif" align="left">
    <textarea name="Order" rows=8 cols=30></textarea>
    </td>
    </tr>
    <tr>
    <td background="images/bg.gif" align="left" class="form">
    <input name="submit" type="submit" value="Отправить">
    <input type="Reset" name="Reset1" value="Сброс">
    </td>
    <td background="images/bg.gif" align="right">*Поля обязательные для заполнения
    </td>
    </tr>
    </table>

  4. #4

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    Все остальное до введения этого кода прекрасно работало в Мозилле

  5. #5

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Почему нет закрывающего тэга </form> ?
    Открывающий тэг <form> переносим выше тэга <table>.

    Код:
    <form name="inp" OnSubmit="return verify()">
    <table width="100%" border="0">
    ...
    </table>
    </form>
    Пробуем...

  6. #6

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    не помогает

  7. #7

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Вот этот вот скрипт временно отключаем или удаляем из кода:
    Код:
    function verify() {
    var str=document.inp.Phone.value;
    var int=parseInt(str);
    if ( int == 1 || int == 2 || int == 12 ) {
    alert("Зима");
    return true; }}
    Проверяем ролловеры...

  8. #8

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    работает )
    значит в ней дело. Интересно что не так?

  9. #9

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Возможно, что в ролловерном скрипте присутствуют такие же переменные, как и в проверочном – str и/или int. Попробуйте в проверочном скрипте обозвать их по-другому...

  10. #10

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    Да нет вроде не повторяется....

    Может в написании этой функции ошибка закралась?

  11. #11

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Да вроде бы нет никаких ошибок...
    У меня подобные функции прекрасно работают во всех браузерах...
    Даже в сочетании с ролловерными скриптами...

    Попробуйте сократить проверочный скрипт:

    Код:
    function verify() {
    var a=document.inp.Phone.value;
    if ( a == 1 || a == 2 || a == 12 ) {
    alert("Зима");
    return true; }}
    И еще раз проверьте ролловеры...

  12. #12

    Регистрация
    09.02.2006
    Адрес
    Нижнего Новгорода
    Сообщений
    255
    О! заработало!

    Спасибо!

  13. #13

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Аминь. )

Похожие темы

  1. Mozilla и z-index
    от kovaldo в разделе Вёрстка сайта
    Ответов: 1
    Последнее сообщение: 03.02.2008, 17:39
  2. продукты Mozilla.org
    от agat в разделе Софт и железо
    Ответов: 20
    Последнее сообщение: 29.09.2006, 16:50
  3. Проблема с Mozilla
    от OlegFox в разделе Вёрстка сайта
    Ответов: 11
    Последнее сообщение: 07.04.2006, 18:02
  4. bordercolor и пр. в mozilla firefox
    от astronomer в разделе Вёрстка сайта
    Ответов: 10
    Последнее сообщение: 18.01.2006, 18:59
  5. IE vs Mozilla, Opera проблема
    от CASEY в разделе Веб-программирование
    Ответов: 3
    Последнее сообщение: 27.10.2004, 21:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •