Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка событий в нужной очередности. (https://javascript.ru/forum/misc/37640-obrabotka-sobytijj-v-nuzhnojj-ocherednosti.html)

lamer 28.04.2013 16:59

Обработка событий в нужной очередности.
 
Здравствуйте, подскажите возможно ли выполнять функцию а только потом сабмитить форму ?

Например при клике на инпут сабмита чтоб выполнился сперва алерт только потом произошел сабмит формы:

<html>

<head>
</head>

<body>

<form>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>

<input type="submit" value="submit">
<form>

<script>
function doSubmit() {alert('ok!');}
</script>
</body>

</html>


или вместо сабмита такие варианты:

<a href="javascript:alert('alert');">Alert</a>


Чтоб при клике на хреф выполнилась сперва функция doSubmit() только потом выполнился сам код: javascript:alert('alert');

Или тоже самое но только с бутоном.

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

Подскажите пожалуйста возможно такое и в какую сторону копать, заранее спасибо.

dmitriymar 28.04.2013 21:20

Цитата:

Сообщение от lamer
Например при клике на инпут сабмита чтоб выполнился сперва алерт только потом произошел сабмит формы:

Оно и так, так и будет -сначала скрипт потом события браузера по умолчанию.
только вот зачем лепить на нажатие , если у формы есть событие onsubmit, генерируемые перед отправкой данных?

Aetae 28.04.2013 21:22

onsubmit
<html>
 
<head>
</head>
 
<body>
 
<form onsubmit="doSubmit()">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
 
<input type="submit" value="submit">
<form>
 
<script>
function doSubmit() {alert('ok!');}
</script>
</body>
 
</html>

lamer 28.04.2013 22:10

Всем отписавшимся спасибо за уделенное внимание, я поясню.
Все формы генеряться скриптами, огромная CMS, лазить в ней и добавлять в формы onsubmit трудоемко, проще подгрузить функцию которая будет выполняться перед сабмитом.

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

dmitriymar 28.04.2013 23:38

Цитата:

Сообщение от lamer
Всем отписавшимся спасибо за уделенное внимание, я поясню.
Все формы генеряться скриптами, огромная CMS, лазить в ней и добавлять в формы onsubmit трудоемко, проще подгрузить функцию которая будет выполняться перед сабмитом.

Ответ уже дали - 2 раза. что ещё?
Цитата:

Сообщение от lamer
Поэтому и решил поинтересоваться есть ли способ выполнять функцию перед сабмитом без правки формы ?

а навесить слушатель события на форму скриптом? не?

lamer 29.04.2013 02:48

...

Aetae 29.04.2013 04:25

<html>
  
<head>
<script>
function doSubmit(e) {alert(e.target.name + '\nok!');}

window.addEventListener('submit',doSubmit, false);

</script>

</head>
  
<body>
  
<form name="form1">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
  
<input type="submit" value="submit">
</form>

<form name="form2">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
  
<input type="submit" value="submit">
</form>

<form name="form3">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
  
<input type="submit" value="submit">
</form>
  
<script>

</script>
</body>
  
</html>

dmitriymar 29.04.2013 09:14

Цитата:

Сообщение от lamer
Уж очень агрессивно не кажется ли ? Жена не дала ?
А по поводу навесить, ты как себе это представляешь когда на сайте более 100 форм, всем навешивать будешь ?

Вопрос остался, люди подскажите в какую сторону смотреть плиз.

В сторону самых основ. какие есть на сайте в разделе учебник. Информации для поиска было более чем дано, научитесь самостоятельно прикладывать усилия.А то ведь смешно звучит само по себе: " Я пишу на JS , но вот основ самых не знаю(и судя по всему и желанием не горю их выучить) и на форуме больше года, напишите мне одну строчку из основ ".
Да и по легче с оскорблениями типа этих :
Цитата:

Сообщение от lamer
Уж очень агрессивно не кажется ли ? Жена не дала ?

Не нравится реальность? Но ведь, это не я более чем за год на форуме, не то что не выучил основ, а даже не удосужился посмотреть где статьи , где учебник на форуме, как пользоваться поиском сайта, яндексом, гуглом.. -чтоб найти ответ самостоятельно за пару минут -тем более , после того как направление поиска было не одинн раз указано, а целых три. Если вы пришли не найти решение своей проблемы, а чтобы её решили вместо вас(конечно это тоже своего рода решение проблемы)- почему было не обратится в раздел работа ? Не важно одна строка, 10 , 1000.... такое решение :"напишите за меня" вне зависимости от её количества это работа

lamer 29.04.2013 12:09

...

dmitriymar 29.04.2013 12:38

И чё значит этот поток словоблудия?
Поверь мне, ты не блеснул . Ну разве, что прямо зарядил -что выучить необходимые тебе основы -тебе незачем. А это основы без каких никуда. Да и пытаешься? переложить вину за то что тебе лень было это сделать, более чем за год, на других, вместо того чтоб восполнить это самостоятельно
Цитата:

Сообщение от lamer
JS начал учить не для того чтоб стать профи программирование, по средствам моего дела мне приходиться ковырять код JS и не более.

Вот для этого и нужно знание основ.
Тем более, имеет коммерческую подоплёку -так что путь только один: http://javascript.ru/forum/job/.
Я не говорю что сделать тяжело, так же будет не тяжело тебе оплатить труд тех, кто кто потратил своё время и деньги на изучение.
Тяжело, потому что бизнес не прибыльный ?-ну тогда посмотри своё же сообщение по поводу состоялся не состоялся-здесь ведь как, кто о чём, а вшивый о бане.
Тяжело потому что, денег жаль, не видишь в этом работу -ну тогда купи себе барабан, колонне идущих вдаль всегда нужен новый лидер.

А вобще, ты молодец что процитировал мои ответы -след раз, прежде чем задать подобные вопросы вспомни их , и потрать 2 минуты, чтобы найти ответ самостоятельно на свои вопросы. Это гораздо быстрее будет и полезнее


Часовой пояс GMT +3, время: 03:25.