Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать, на какой сабмит нажали, Internet Exploder 
V
    Опции темы
S.A.P.
Дата 15.7.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



имеется примерно такая заготовка:

Код

<script type='text/javascript'>
<!--
function check (ev)
{
    ev = ev ? ev : event;
    alert((ev.explicitOriginalTarget || ev.relatedTarget).name);
}
-->
</script>


<form onsubmit="check(event)">
    <input type="submit" value="save" name="A" />
    <input type="submit" value="delete" name="B" />
</form>


Задача: узнать на какой из submit ов нажали в момент отправки формы.
в Firefox я нашел свойство explicitOriginalTarget, в Opera relatedTarget. Как бы тоже самое сделать в IE?

Добавлено @ 21:12 
Хочется сделать метод наиболее прозрачным, поэтому навешивание обработчиков на submit ы пока не рассматриваю.  

Это сообщение отредактировал(а) S.A.P. - 15.7.2006, 21:15
PM MAIL   Вверх
skyboy
Дата 16.7.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



S.A.P., прости. Я как-то упустил из виду, что ты проверяешь по onsubmit  smile 
А если по onclick записывать event.srcElement в какой-нить "глобальный массив"? А по onsubmit проверять его? 
PM MAIL   Вверх
Wolf1994
Дата 16.7.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Если без извращений, доступными средствами, и несмотря на:
Цитата(S.A.P. @  15.7.2006,  21:09 Найти цитируемый пост)
Хочется сделать метод наиболее прозрачным, поэтому навешивание обработчиков на submit ы пока не рассматриваю. 

то:
Код

<script type="text/javascript">
//<![CDATA[
function check(id, id2)
{
 var f=document.getElementById(id);
 var i;
 for (i=0; i<f.elements.length; i++)
  alert("Элемент - "+i+": "+f.elements[i].value);
 alert("Вызов произошёл по нажатии на: "+document.getElementById(id2).value);
}
//]]>
</script>

<form id="test">
<input id="a" onclick="check(this.form.id,this.id)" value="save" type="button" />
<input id="b" onclick="check(this.form.id,this.id)" value="delete" type="button" />
</form>
 
PM MAIL WWW   Вверх
S.A.P.
Дата 16.7.2006, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



нашел более менее красивое решение проблемы:
Код

<script type="text/javascript">
<!--
function check_submit (ev)
{
    ev = ev ? ev : event;
    var submit = ev.srcElement || ev.target;
    if (submit.tagName == 'INPUT' && submit.type == 'submit')
    {
        alert(submit.name);
    }
}
-->
</script>


<form onclick="check(event)" onsubmit="return false">
    <input type="submit" value="save" name="A" />
    <input type="submit" value="delete" name="B" />
</form>


спасибо skyboy за верный ход мыслей.  

Это сообщение отредактировал(а) S.A.P. - 16.7.2006, 20:07
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0849 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.