Автор Тема: Кнопка по умолчанию  (Прочитано 8473 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RWIvan

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кнопка по умолчанию
« : 21 Ноября 2007, 08:04:39 »
Есть форма, на форме находятся несколько полей ввода и несколько кнопок.

Хочется что бы при нажатии ентора (фокус в одном из полей ввода), на сервер отсылалось как будто нажата конкретная кнопка (установленная как кнопка по умолчанию), а не первая встретившаяся.


 
 
 
 
 


Этот код при нажатии ентора отправляет нажатие кнопки s_1, а хочется чтобы отправлялось нажатие кнопки entor.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Кнопка по умолчанию
« Ответ #1 : 21 Ноября 2007, 13:17:02 »
Вопрос не в той ветке, сдесь DHTML,JavaScript,DOM нужен, а не PHP.

<script>
function 
on(n){
  
el=document.getElementById(\'hidden\');
   el.name=n.name;
   el.value=n.value;
 document.forms.form_a.submit();   
}
function on_name(name){
on(document.getElementById(name));
}
</script>
<form name="form_a" action="" method="get">
<input id="hidden" type="hidden" name="hidden" value="">
<input type="text" name="t_1" maxlength="20" size="50%" onKeyDown="if(event.keyCode==13) on_name(\'enter\');">
<input type="text" name="t_2" maxlength="30" size="50%"/>
<input type="button" name=s_1 value="кнопка 1" onClick="on(this);">
<input type="button" name=s_2 value="кнопка 2" onClick="on(this);">
<input type="button" id="enter" name="enter" value="кнопка 3" onClick="on(this);">
</form>
« Последнее редактирование: 21 Ноября 2007, 14:07:45 от Altaxar »
Не все является тем чем кажется.

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кнопка по умолчанию
« Ответ #2 : 21 Ноября 2007, 15:57:44 »
Вам не в РНР, а в javascript. Нужно отловить событие и переопределить его обработку.

Вопрос: а зачем так извращаться? Не лучше ли определять  нужное значение переключателем, нежели использовать кучу сабмитов?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Кнопка по умолчанию
« Ответ #3 : 22 Ноября 2007, 17:01:33 »
[off]brainkiller
Кнопки юзерам зачастую проще.[/off]
LJ: Backslashed life (rss)

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кнопка по умолчанию
« Ответ #4 : 22 Ноября 2007, 17:32:29 »
[OFF]CGVictor
Хотя, могу согласиться: кнопки нагляднее, да и клик получается всего один, а не два.[/OFF]

Оффлайн Sylon

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кнопка по умолчанию
« Ответ #5 : 28 Марта 2011, 13:11:32 »
Так ведь вопрос в том, как это делать без жаваскрипта...
как заставить срабатывать по ENTER вполне определённый
Единственное, как это мне удавалось решать - в PHP заранее определять, какой браузер - и соответственно модифицировать форму - порядок кнопок - иногда с позиционированием, поскольку надо сохранитьодинаковый внеший вид...

Может кто-нибудь видел нормальное решение, надёжное и без танцев с бубном?

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Кнопка по умолчанию
« Ответ #6 : 22 Марта 2012, 13:06:44 »
Кстати, а tabindex никак тут не поможет?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28