Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: события onclik
 
 автор: kid_a   (14.01.2008 в 15:22)   письмо автору
 
 

возможно ли назначить 2 события на onclick:
1. отправка данных формы
2. открытие всплывающего окна



<?php
echo '<td>'.$res['type'].'<a href="combo.php?id='.$res['id'].'&table=type&id_type='.$res['id_type'];

?>


"onClick="popupWin= window.open(this.href, 'last', 'location,width=400,height=300,top=0,scrollbars = 1');popupWin.focus(); return false; document.forms.admin_to_base.submit();return!1"><img style="border: 0px solid ;" alt="" src="right.gif"></a></td>

   
 
 автор: yuk   (14.01.2008 в 15:54)   письмо автору
 
   для: kid_a   (14.01.2008 в 15:22)
 

Вешаете на onclick функцию, а в функции уже и окно открываете, и форму отправляете.

   
 
 автор: CNT   (14.01.2008 в 16:40)   письмо автору
 
   для: kid_a   (14.01.2008 в 15:22)
 

Можно на событие onclick навесить хоть 222 (двести двадцать два) оператора/функции.
Только делать это надо, ЗАДУМЫВАЯСЬ - а что же ты хочешь от каждого оператора/функции.

Из вашего примера явно следует, что вы нисколечко не задумывались,
а по-попугайски передрали откуда-то два выражения на JS-скрипте.

Поэтому у вас получилось следующее:


1. <a href="чего-то, что СОВЕРШЕННО НЕ НУЖНО, ибо в onclick вы аж ДВАЖДЫ указали - переход по ссылке не делать"

2. onclick="открыть окно;
            дать окну фокус;
            return false (т.е. ЗАКОНЧИТЬ РАБОТУ, ВЫЙТИ ОТСЮДА и ПО ССЫЛКЕ НЕ ПЕРЕХОДИТЬ);
            просабмитить форму;
            return !1 (т.е. ЗАКОНЧИТЬ РАБОТУ, ВЫЙТИ ОТСЮДА и ПО ССЫЛКЕ НЕ ПЕРЕХОДИТЬ)"

Если лично вы С ОДНОГО РАЗА не понимаете и вам надо ДВАЖДЫ повторять что-то,
чтобы до вас дошло, то уверяю вас, парсер браузер не такой деревянный -
ему вполне одного раза хватит.
Всё, что написано у вас после первого return false - НИКОГДА НЕ ИСПОЛНИТСЯ,
ибо этот самый первый return false ПРЕКРАЩАЕТ РАБОТУ и он просто лишний
и явно попал в код из-за вашего бездумного копи-пасте.

Ну а второй return !1 - это просто песня :-)
Почему было не написать return 0 - ведь это ТО ЖЕ САМОЕ, что и return !1 и ТО ЖЕ САМОЕ, что и return false?
Правильно - потому что именно так было написано у того дебила, у коего вы списывали.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования