Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > JavaScript в Опере


Автор: abalich 28.3.2007, 23:52
Почему JAVASCRIPT не работает в Опере, в чём ошибка?
Код

<script>
function by_me(){
if (document.formI.b0.value=='')
{alert("Вы не ввели Ф.И.О")};
else
        {
        if (document.formI.b2.value=='')
            {alert("Вы не ввели Адресс сата")};
        else
            {
               if (document.formI.b4.value=='')
                 {alert("Вы не ввели E-mail")};
               else
                  {go_to()};
            };    
        };
};
function go_to() {
window.formI.submit();
};
</script>

Код

<form name="formI" id="formI" action="/php/send.phtml" metod="post">
<input type="text" size="30" maxlength="" name="b0">
<input type="text" size="30" maxlength="" name="b2">
<input type="text" size="30" maxlength="" name="b4">
<input type="button" onclick="by_me()" value="Отправить" />
</form>

Автор: vasac 29.3.2007, 10:53
Оно и в FF не работает. И непонятно с какого бодуна работает в IE.
Зачем точки с запятыми перед else ?

Автор: abalich 29.3.2007, 19:09
Цитата

Зачем точки с запятыми перед else ? 

Запарился уже smile 
Цитата

Оно и в FF не работает.

А вообще он должен работать где-нибудь кроме IE?

Автор: SelenIT 29.3.2007, 19:18
document.formI нужно заменить хотя бы на document.forms.formI, а еще лучше на document.getElementById('formI') - благо id у формы проставлен. Тогда должно работать везде.

И еще, желательно вешать такие вещи не на onclick кнопки, а на onsubmit самой формы - <form ... onsubmit="return by_me()">. А сама ф-ция должна возвращать true, если все заполнено правильно, и false во всех прочих случаях. Тогда
  • валидация будет работать не только по кнопке, но и по отправке формы нажатием Enter-а;
  • форма станет работоспособной (хоть и без валидации) даже при отключенном JS;
  • ф-ция go_to() станет просто не нужна.

Автор: abalich 29.3.2007, 19:39
но почему в опере не работает
Код

dialogI = window.open("","output","width=200,heigth=100");

Автор: SelenIT 29.3.2007, 19:49
А что оно должно делать? Открывать попап и грузить в него дубль текущей страницы?

Автор: abalich 29.3.2007, 19:54
нет...
Код

dialogI = window.open("send.html","","width=200,height=100);

на send.html - уже всё есть...
а так - почему не работает?

Автор: SelenIT 29.3.2007, 21:07
У любого окошка должен быть адрес. А "пустой адрес" - штука, по-моему, нестандартная и непредсказуемая даже в IE. Если нужно пустое окно, то можно "грузить" about:blank...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)