Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Наболевший вопрос  (Прочитано 13105 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
Arina
Гость
« : 28-05-2004 10:46 » 

Метод submit() объекта form, оказывается, решает выполняться ему или нет в зависимости от того, каким способом его вызывают...
Пример 1: (Здесь он сработает!)
<script>
function s() {
...
document.forms['f'].submit();
}
</script>
<form name="f" action="1.asp" method="post">
<input type="hidden" name="n" value="v">
<input type="button" onclick="s();">
</form>

Пример 2 (А здесь НЕ сработает!!!)
<script>
function s() {
...
document.forms['f'].submit();
}
</script>
<form name="f" action="1.asp" method="post">
<input type="hidden" name="n" value="v">
<A href="#" onclick="s();">Ввод</A>
</form>

---------------------------------

Можно ли всё-таки, используя метод submit() и гиперссылку, отправить форму на сервер?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 28-05-2004 12:06 » 

Убери href="#". <a> имеет, все-таки, иное назначение.
В этом можешь заменить <a onclick="f();"> на <u onclick="f();">.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Arina
Гость
« Ответ #2 : 28-05-2004 17:23 » 

Цитата: RXL
Убери href="#". <a> имеет, все-таки, иное назначение.
В этом можешь заменить <a onclick="f();"> на <u onclick="f();">.


RXL, вообще непонятно, что ты имел ввиду? и что такое

<u onclick=""> --- что за u?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 29-05-2004 18:22 » new

Arina, поясняю: тег <a> предназначен для перехода по ссылкам, а ты его применяешь не по назначению - отсылать форму. Получается в так: submit() отсылает данные на сервер, а href="#" производит переход по ссылке. При этом результат обращения на сервер игнорируется, а возможно, вообще не происходит, или обрывается в процессе.
Если убрать href="#", то будет работать так как надо, но, по внешнему виду, текст внутри <a> не будет похоже на ссылку.
Тег <u> - подчеркивание - похож по оформлению на ссылку. Я его взял просто для примера - можно использовать другой тег.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Arina
Гость
« Ответ #4 : 31-05-2004 10:55 » 

RXL, спасибо. Буду по-другому пытаться сделать
Записан
Arina
Гость
« Ответ #5 : 31-05-2004 10:58 » 

Получается, что совсем необязательно, чтобы это была ссылка?
Пользователь просто нажмет и вызовется функция, а также отправиться форма?

Тперь понятно про <u> - это для визуального приятия, чтобы пользователь нажал?


Спасибо, большое спасибо
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 31-05-2004 11:12 » 

Arina, усе правильно поняла. Кстати, часто, для большей наглядности, используют картинки в качестве кнопок. Еще <INPUT TYPE="BUTTON"> и <BUTTON>.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Fireworm
Гость
« Ответ #7 : 01-06-2004 06:21 » 

Вот такой код отлично работает:
Код:
<script>
function s() {
document.forms['f'].submit();
}
</script>
<form name="f" action="2.html" method="post">
<input type="hidden" name="n" value="v">
<A href="#" onclick="s();">Enter</A>
</form>

Так что видимо проблема гдето где стоят многоточия. Там ошибка, код прерывается и до сабмита не доходит
« Последнее редактирование: 28-11-2007 15:37 от Алексей1153++ » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 01-06-2004 08:51 » 

Fireworm, я пробовал отлаживать этот код - ф-ия запускается, но ожидаемого эффекта нет.
То, что может привести к неопределенному поведению на разных браузерах, лучше не использовать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines