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


Автор: Иль 18.3.2005, 14:19
Помогите с отправкой формы через JS. В Мозиле кнопка вне формы не работает. Сам разобраться не смог.
Код

<html><head>
<script language="JavaScript" type="text/JavaScript">
function NotEmpty (elem) {var str=elem.value;var re=/.+/;
    if (!str.match(re)){
        setTimeout("do_focus('"+elem.form.name+"', '"+ elem.name+"')",0);return false;}
        else{return true;}
}
function do_focus(formName,elemName){
    var elem=document.forms[formName].elements[elemName];
    elem.focus();elem.select();
}
function button_sub (){
    if (form_sub(form)){
        document.forms["form"].submit()}
        return false;
}
function b_sub (){
        document.forms["form"].submit()
}
function form_sub (form) {
    if (NotEmpty(form.kont)){
        alert("Не пусто");return true;}
        alert("Пусто");return false;
}
</script>

</head>
<body>

<input type=button onclick="button_sub();" value="Не работает в Мозиле"><br>
<input type=button onclick="b_sub();" value="Не работает валидацая по onSubmit в форме в IE и Мозиле"><br>

<form name=form action="proba.cgi" method="post" onSubmit="if(form_sub(form)){return true;}return false;">

<input name=kont type="text"><br><br>
<input type="submit" value="Работает везде! Это то, чего я хочу добится при отправке вне формы от первых двух кнопок">
</form></body></html>

Автор: sergejzr 18.3.2005, 15:10
всё ведь работает smile

Автор: Иль 18.3.2005, 15:28
КАК? Что именно работает, подробнее плз.

Код
<input type=button onclick="button_sub();" value="Не работает в Мозиле">

не работает в Мозилле!!! smile. Может у меня Мозилла старая - не думаю, что 1.7 так уж устарела.

Код
<input type=button onclick="b_sub();" value="Не работает валидацая по onSubmit в форме в IE и Мозиле">

Но валидация, то не запускается, какой тогда смысл в этом варианте вызова smile?
А ЧТО именно работает?

Автор: sergejzr 18.3.2005, 15:40
button_sub в мозилле у меня прекрасно работает.


Автор: Иль 18.3.2005, 15:47
Вау, я просто в шоке smile . Ничего себе барабашки. А я нажимаю на эту кнопку и она-то не реагирует.
Сейчас скачаю новую Мозиллу. Как я зол smile

Автор: Иль 18.3.2005, 15:58
А какая версия Мозиллы используется?

Автор: sergejzr 18.3.2005, 16:19
У меня 1.0.1
PS:
Глянь, может у тебя Яваскрипт в мозилле совсем отключен...

Автор: Иль 18.3.2005, 17:26
Ой-ё, шире вселенной счастье моё. Переустановил - заработало.
Нет, ёнта же кнопка работала и вообще я Мозиллу и пальцем не трогал
Код
<input type="submit" value="Работает везде! Это то, чего я хочу добиться при отправке вне формы от первых двух кнопок">

!!!
Sergej.z, спасибо, какое облегчение! Не верил в такой исход. Это что-то нереальное smile . Переустановил 1.7.2 на 1.7.4 и заработало. Пол дня, конечно, потеряно, но если бы не ты и не Винград не видать мне Светку в конце туннеля smile

Но вообще это как-то нечестно со стороны JS. Я же прописал, что форма должна делать по onSubmit, так чего ж он по b_sub не валидирует, обязательно button_sub ему подавай. Может теперь у меня и дримвивовские скрипты по изменению ширины div'ов заработают в Мозилле???
Добавлено @ 17:31
ВАУ, растет мальчик (в смысле дракоша Мозилла)! Сказка, да и только. Вправду скрипты DV заработали.

Автор: Иль 29.3.2005, 17:56
Есть подозрения, что это все происки W3C. Здесь решение:
http://forum.vingrad.ru/index.php?showtopic=47003

Автор: Sardar 29.3.2005, 20:43
Ну не совсем происки, просто иногда прикалываются ребята smile
Вот http://forum.vingrad.ru/index.php?showtopic=46629 мне особенно понравилось, мозилла действует строго согласно их рекомендациям, все остальные(ИЕ, Опера) согласно логике и юзабельности.

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