Не работает submit() в IE.

vsa

Новичок
Не работает submit() в IE.

Почему может не работать submit() в IE?
Вызов такой:
$('rform').submit();
В FireFox все в порядке.
 

AmdY

Пью пиво
Команда форума
а ты уверен, что не работает?
проверь $('rform')
 

vsa

Новичок
AmdY
Уверен что не работает. Не переходит на нужную страницу. В FireFox все в порядке.
 

AmdY

Пью пиво
Команда форума
$('rform') - это я так понимаю выбирается элемент по ИД
может у тя ИД не уникальный?
работать работать должно.
 

vsa

Новичок
AmdY
ИД уникальный, первым делом проверил.
kruglov
alert($('rform').tagName) выдает FORM
 

vsa

Новичок
Вася Патриков
через name тоже не работает.
kruglov
Кнопки submit нету. <a href="javascript:void(null)" onclick="fsubmit()">выполнить</a>
 

AmdY

Пью пиво
Команда форума
нет, всё должно работать и без кнопки submit, видимо $('rform') берёт не тот элемент. я постоянно использую этот ход и проблем небыло.
 
Короче, сделай так:
<form name="form_name" id="form_name" action="...">
...
<input type="button" value="Отправить" onclick="document.forms.form_name.submit();">
</form>
Если заработает, то попробуй убрать id из <form> отправить так. Если не заработает вообще, то ...
можно ещё вот так:
onclick="document.getElementById('form_name').submit();" - может получиться так, сам не пробовал никогда.
И проследите за уникальностью параметров id и name, а потом уже можно думать дальше, что, да как.

-~{}~ 10.07.07 10:30:

Если не получиться, приведите ваш html, будем лично с ним разговаривать :)
 

vsa

Новичок
Вася Патриков
В fsubmit() попадаем, обработка происходит. $('rform').submit(); выполняетс без ошибки. Но без результата. В FF все в порядке при этом.

-~{}~ 10.07.07 10:39:

Приведу текст
{literal}
<script type="text/javascript">

function fsubmit()
{
var ids = new Array('fname', 'freview');
var labels = new Array('Название рецензии', 'Текст рецензии');
var errs = false;
for (var i = 0; i < 2; i ++)
if ($(ids).value.length == 0) {
alert('Не заполнено поле "' + labels + '"');
$(ids).focus();
errs = true;
break;
}
if (errs != true) $('rform').submit();
return;
}

</script>{/literal}
</head>
<body>


<form action="/movies/last-legion-the-12287/reviews/new/" method="post" id="rform">
<input type="text" value="" id="fname" name="name" />
<textarea id="fteaser" name="teaser" cols="50" rows="7"></textarea>
<textarea id="freview" name="review" cols="50" rows="24"></textarea>

<a href="javascript:void(null)" onclick="fsubmit()">Добавить рецензию</a>
</form>
 

vsa

Новичок
A-Lex[FM]

alert ставил после $('rform').submit(); , в скобках естественно. Проходит, но не отсылает.

А у кого нибудь работает этот код?
 
ААААААААААААА!!! Закипел, пока исправил - как можно так писать !?!?!?. Так и скажите сразу, что в яваскрипте не шарите, а то сабмит у вас не работет. Короче вот код:

<script>

function fsubmit() {
alert("www");
try{
var ids = new Array('fname', 'freview');
var labels = new Array('Название рецензии', 'Текст рецензии');
var errs = false;
for (var i = 0; i < 2; i ++)
if (document.getElementById(ids).value.length == 0) {
alert('Не заполнено поле "' + labels + '"');
document.getElementById(ids).focus();
errs = true;
//break;
}
} catch(e) {alert("Ошибка: " + e);}
if (!errs) document.forms.rform.submit();
}

</script>
</head>
<body>


<form action="..." method="post" id="rform" name="rform">
<input type="text" value="" id="fname" name="name" /><br>
<textarea id="fteaser" name="teaser" cols="5" rows="7"></textarea><br>
<textarea id="freview" name="review" cols="5" rows="7"></textarea><br>

<a onclick="fsubmit();">Добавить рецензию</a><br>
<!--кнопку можете убрать конечно-->
<input type="button" value="Отправить" onclick="document.forms.rform.submit();">
</form>

теперь я выскажусь:
1. Что вообще обозначают эти записи - $(ids). ??? это вам не пхп.
2 $(ids).value.length и $(ids).focus(); - обращение к элементу документа по ид делается вот так - document.getElementById(ids).focus();
3. И наконец - <a href="java script:void(null)" onclick="fsubmit()">Добавить рецензию</a> - если не знаете что означает запись java script:... , которая кроме всего прочего пишется слитно, незачем её использовать. Что за мания такая использовать эту чушь ? Вот так это делается:
<div id="link"
style="color:blue;"
onclick="fsubmit();"
onmouseover="document.getElementById('link').style.color='red'";
onmouseout="document.getElementById('link').style.color='blue';">
Добавить рецензию
</div>

-~{}~ 10.07.07 11:57:

да, break раскоментируйте.
ну и return после if (!errs) document.forms.rform.submit(); можно поставить, хотя и не обязательно.
 

A-Lex[FM]

Web/Highload/DataScience
Вася Патриков
чувак, если ты почитаешь что такое библиотека prototype, то поймёшь что функция $('id') это твоя любимая getElementById('id').

про ссылку ты отжёг конечно, у человека может специфика дизайна такая без изменения цвета ссылок, а тем более делать это дивом и получить лишьний разрыв строк.
 
A-Lex[FM]
ну знаеш ли... прототипы, библиотека prototype - ну не знал, но работает ведь и так. и вообще там не написано что он её использует.
а вместо дива можно и спан поставить и затереть параметры onmouseover и onmouseout. Я так сделал только потому что считаю что использование javascript: в скриптах обусловлено нежеланием сделать так как сделал я.
И вообще, что за люди, лишь бы человека обидеть. Взял бы и помог. А специфика у него видите ли :)
 
Сверху