Отправка данных формы через нульфрейм

 
0
 
JavaScript
ava
Black | 11.11.2004, 18:41
Опять у меня не работает JavaScript


<script LANGUAGE=JavaScript>
function submit1(){
var str = parent.frames['mess'].document.forms['say'].elements['text'].value;
parent.frames.submit.location.href='name.php?click=eee&text=' + str;
}
</SCRIPT>

Надо чтобы нульфрейм отправлял данные скрипту обработчику.

Есть форма: say текстовое поле: text находится форма во фрейме: mess
Мне надо чтобы значение формы (поле text) по нажатию кнопки было отправлено скрипту обработчику через нульфрейм:
Кнопка:
<input TYPE="button" OnClick="submit1()" value="OK">

Нульфрейм имеет название submit
Казалося бы скрипт правильный, а работать не хочет пишет: "parent.frames.submit.location" - есть null или не является объектом :-)

Чего мне сделать??? чтобы заработало smile
Kommentare (7)
ava
Sardar | 11.11.2004, 22:13 #
Ну почему надо обязательно через пятую точку? :D

<script LANGUAGE=JavaScript type="text/javascript">
function submit1(){
((f=parent.frames['mess'].document.forms['say']).target="submit", f).submit(); //это нашь нульфрейм
}
</SCRIPT>
ava
Black | 12.11.2004, 00:17 #
Я скоро кончусь с этим JavaScripts ну почему все начинает работать только на 120 раз :((


<script LANGUAGE=JavaScript type="text/javascript">
function submit1(){
((f=parent.frames['mess'].document.forms['say']).target="submit", f).submit(); //это нашь нульфрейм
}
</SCRIPT>


Данный код мне не помогает. Первым делом он почему-то открывает новую страницу браузера. Да и данные не передаются, а если и передаются то неправильно, чтобы мой PHP-скрипт стал обрабатывать данные, он должен получить их по ссылке:

name.php?click=Vsem_ili_Private&text=text_iz_form
а не просто: name.php?text=text_iz_form

Вот такие пирожки и как найти выход :(( я без понятия все перепробывал... ничего не работает...
ava
Sardar | 12.11.2004, 11:07 #
Цитата (PHP @ 11.11.2004, 23:17)
Первым делом он почему-то открывает новую страницу браузера

Этот код просто отправляет твою форму в другом фрейме, если открываетя новое окно, значит имя фрейма(target) заданно не верно.
Можешь добавить небходимые поля сам в форму и отправить, но если все таки хочется извратится, то можешь создать новую форму в нульфрейме и отправить её. Сначала очисти фрейм(location.navigate("about: blank")), затем напиши необходимую разметку банальным document.write(), ну а затем бери форму по имени и форма.submit()

Если сам до вечера не справишся, то помогу, я сейчас на работе. А вообще JS не сложный, и работает всё с 1-5 раза... если знаешь язык хорошо ;-)
ava
Black | 12.11.2004, 12:44 #
Sardar
щас попробую сделать, но если не получится напишу... кстати, если наберу 100 сообщений обязательно тебе репутацию подниму, ведь ты реально помогаешь людям...
ava
Black | 12.11.2004, 19:20 #
все получилось smile правда пошел немного другим способом, но все равно спасибо ;-)
ava
Sardar | 13.11.2004, 00:50 #
Скидывай свой способ, проверим на баги/недочёты smile
ava
Black | 13.11.2004, 13:56 #
Скрипт


<script LANGUAGE=JavaScript>
function submite(type){
var str = document.forms['say'].elements['text'].value;
document.forms['say'].elements['text'].value = '';
var color = document.say.color.value;
if (color) { }
else { var color = 'black'; }
parent.frames[0].location = 'http://name.ru/name.php?mode=' + type + '&text=' + str + '&color=' + color;
}
</script>


Html-код страницы:

<form name=say>
<input type=text name=\"text\" value=\"\" size=\"70\">
<input type=button OnClick=\"submite('Всем')\" value=\"Всем\">
<input type=button OnClick=\"proverka()\" name=click value=\"Приват\">
<INPUT TYPE=radio NAME=col onClick="document.say.color.value ='black'" CHECKED><img src=color/black.gif border=0>
<INPUT TYPE=radio NAME=col onClick="document.say.color.value ='gray'"><img src=color/gray.gif border=0>
<INPUT TYPE=radio NAME=col onClick="document.say.color.value ='green'"><img src=color/green.gif border=0>
<input type=hidden name=color value="</span>">
<<span style='color:blue'>/form>
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  Sardar   Black
advanced
Absenden