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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: событие click()

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: ZeeG   (11.09.2007 в 01:26)   письмо автору
 
   для: ZeeG   (10.09.2007 в 14:56)
 

как оно всегда и бывает - сделал сам и находишь нужную статью.
http://www.habrahabr.ru/blog/la_france/24341.html.
всем привет

   
 
 автор: ZeeG   (10.09.2007 в 14:56)   письмо автору
 
   для: sim5   (10.09.2007 в 06:05)
 

Неплохо бы разобраться. На будущее.

   
 
 автор: sim5   (10.09.2007 в 06:05)   письмо автору
 
   для: CNT   (10.09.2007 в 04:11)
 

Вот теперь и у меня вопрос - вот на эту конструкцию document.getElementById (x).dispatchEvent (evt); у меня FF не реагирует. Перевернул всю свою умную книгу, ни в какую, причем консоль не выдает ошибок, по которым можно было хоть как то определиться.
Вчера к коду ZeeG добавил соответсвующее и ничего, стал просто примеры из книги Д.Гудмана выполнять - ноль эмоций со стороны FF. Не думаю, что это сам FF, может я чего-то не допонимаю, может плагины какие либо мешают ему? Странно, но не только пример этого сценария (из книги) мой FF не отрабатывает, есть и некоторые другие - эффект такой же, тишина без указаний на ошибки.

   
 
 автор: ZeeG   (10.09.2007 в 05:27)   письмо автору
 
   для: CNT   (10.09.2007 в 04:11)
 

Спасибо за ответ. Я вот всю ночь искали нашел тот же ответ, что и Вы мне дали. Видимо, придется искать другую дверь.

   
 
 автор: CNT   (10.09.2007 в 04:11)   письмо автору
 
   для: ZeeG   (09.09.2007 в 21:39)
 

Опытным путём установлено:

1. Cобытие "нажатие на кнопку" сгенерировать можно в любом браузере

2. Однако в "мозилловских" браузерах (FF и Opera) сгенерированное нажатие на кнопку <input type=FILE> хоть фактически и происходит, но диалоговое окошко не открывается.
Сненерированное нажатие на кнопку <input type=BUTTON>, <input type=CHECKBOX> или <input type=SUBMIT> прекрасно отрабатывается полностью - т.е. делается то, что и должно делаться по нажатии на эти кнопки. А вот с type=FILE - нет

3. Как это "обойти" и можно ли "обойти" - не знаю. Видимо, надо поглубже разобраться. Метод initMouseEvent () и используемые в нём атрибуты - "не при делах": проверено - там вё ОК!.
Может быть, таковым образом в Mozilla обеспечивается безопасность? Типа, на кнопку "Обзор" юзер должен нажимать сам, осознавая, что он делает?
...
Код, демонстрирующий нормальную работу в MSIE (с разными кнопками) и показывающий "непонятку" для type=FILE в Mozilla (и только для этой кнопки!), прилагается:
<script>
var OBJ;
function myFunc (x)
{
var Brous = (navigator.userAgent.indexOf ('MSIE') != -1) ? 1 : 0;
if (Brous) document.getElementById (x).click ();
else
   {
   var evt = document.createEvent ('MouseEvents');
   evt.initMouseEvent ('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
   document.getElementById (x).dispatchEvent (evt);
   }
}
</script>
<form method="get">
<table border="1" cellpadding="10" bgcolor="#efedee">
<tr><th colspan="2">Здесь кликаем</th><th>Это не трогаем, только смотрим</th></tr>
<tr><th>1</th>
<td><input type="button" value="кликаем по type=button" onclick="myFunc ('btn')"></td>
<td bgcolor="black"><input id="btn" type="button" value="button" onclick="this.form.inf.value = this.type"></td>
</tr>
<tr><th>2</th>
<td><input type="button" value="кликаем по type=submit" onclick="myFunc ('sbm')"><br>(слово submit увидим в адресной строке)</td>
<td bgcolor="black"><input id="sbm" type="submit" value="submit" onclick="this.form.inf.value = this.type"></td>
</tr>
<tr><th>3</th>
<td><input type="button" value="кликаем по type=checkbox" onclick="myFunc ('cbx')"></td>
<td bgcolor="black"><input id="cbx" type="checkbox" onclick="this.form.inf.value = this.type"></td>
</tr>
<tr bgcolor="yellow"><th>4</th>
<td><input type="button" value="кликаем по type=file" onclick="myFunc ('fil')"></td>
<td bgcolor="black"><input id="fil" type="file" onclick="this.form.inf.value = this.type"></td>
</tr>
<tr><td colspan="3" bgcolor="aqua"><font color=red>Смотрим СЮДА!</font><br>Клик сгенерирован по: <input name="inf"></td></tr></table>
</form>

   
 
 автор: ZeeG   (09.09.2007 в 21:39)   письмо автору
 
   для: bronenos   (09.09.2007 в 21:01)
 

И снова нет. Видимо все так плохо.

   
 
 автор: bronenos   (09.09.2007 в 21:01)   письмо автору
 
   для: ZeeG   (09.09.2007 в 19:25)
 

<input class="btn" type="button" value="go" onclick="this.form.file.click();">

   
 
 автор: ZeeG   (09.09.2007 в 19:25)   письмо автору
 
   для: ZeeG   (09.09.2007 в 17:59)
 

Кто-нибудь может помочь? Очень надо.

   
 
 автор: ZeeG   (09.09.2007 в 17:59)   письмо автору
 
   для: sim5   (09.09.2007 в 17:55)
 

все равно не работает.

   
 
 автор: sim5   (09.09.2007 в 17:55)   письмо автору
 
   для: ZeeG   (09.09.2007 в 17:43)
 

click(), а не click('b').

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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