Автор Тема: Submit в виде картинки  (Прочитано 8497 раз)

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

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« : 23 Мая 2004, 13:20:40 »
Здравствуйте!

Как грамотно делать в форме аналог кнопки Submit в виде картинки?
По сути надо заменить вот такую кнопку: .

Поискав по форумам, я нашёл . Но в этом случае, во-первых, для передачи параметра choice=search надо заводить скрытое поле , что кажется не очень красивым. Кроме того, передаются совершенно ненужные координаты клика на рисунке (X и Y), которые отображаются в URL (да, форма работает через GET, так надо!), что ещё более некрасиво.
Как это можно побороть?

Оффлайн remal

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #1 : 23 Мая 2004, 19:43:53 »
JavaScript сделай кнопку с рисунком и при нажатии делай submit вей форме

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #2 : 23 Мая 2004, 20:14:13 »
remal, а можно подробней (или ссылочку дать)?
А то я с JavaScript раньше совсем почти не работал (знаю только window.open() и close() ;)).

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #3 : 24 Мая 2004, 09:23:44 »
пример со скриптом

<form action method=get name=form_number_one>
<
input type=text name=x
</
form>
<
img src=file.gif onclick=forms.form_number_one.submit()>


а можно и без скрипта (и без x y)

<FORM method=get>
<
INPUT name=text>

<
button type=submit style="BACKGROUND-IMAGE: url(file.gif); WIDTH: 20px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 22px; BORDER-BOTTOM-STYLE: none">
</
button>
</
FORM>
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #4 : 20 Июля 2004, 23:11:28 »
Наконец-то посмотрел эти варианты.
Спасибо :appl:, оба работают. Только для полноты не хватало им style="cursor: hand;", иначе курсор оставался в виде стрелки при наведении на картинку.

p.s. Хотя второй вариант у меня немного глючил. Мне дали картинку с лупой на синем фоне, и если эту картинку использовать как BACKGROUND для

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #5 : 08 Августа 2004, 20:16:14 »
В продолжении темы...

В форме надо сделать 2 кнопки в виде картинок, нажатие на которые должно приводить к различным действиям с данными формы.
В случае форм-не-картинок всё было бы просто:

.

А как лучше оформить это дело с кнопками-картинками? Ранее, когда над формой могло производиться только одно действие, оно заранее записывалось в .
Теперь понятно, что вариант с onclick=forms.form_number_one.submit() не подходит, т.к. он сразу сабмитит форму с её заранее определёнными параметрами. А вот вставка во второй вариант параметров name и value (а именно:

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Submit в виде картинки
« Ответ #6 : 08 Августа 2004, 21:05:44 »
Цитировать
Forza:
 Ранее, когда над формой могло производиться только одно действие, оно заранее записывалось в .

глупость
и ранее не надо было

Цитировать
Forza:
Неужели нет варианта покрасивее?

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

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #7 : 08 Августа 2004, 21:08:22 »
Цитировать
RomikChef:
глупость
и ранее не надо было

Да? И как мне тогда передать в значение choice=do_this?
Цитировать
RomikChef:
есть.
взять, да получить в скрипте имя нажатой кнопки.

Можно поподробней?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Submit в виде картинки
« Ответ #8 : 08 Августа 2004, 21:56:31 »
можно.

скажи, если в ящике стоят бутылки с пивом, то ты сможешь взять из него только то пиво, название которого ты знаешь?
А если не будешь знать, какое пиво в ящике, то так и умрешь от жажды?

почему в программировании простейшие операции, которые мы совершаем в жизни не задумываясь, вызывают ТАКИЕ трудности?
Неужели так трудно посмотреть список приходящих в скрип переменных и найти глазами нужную?

Или единственный способ получения знаний о своих программах - это задавать вопросы на форуме?

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #9 : 08 Августа 2004, 22:43:10 »
[OFF]Почему ты такой зануда, а?[/OFF]

Я хочу, чтобы инфа о нажатой на форме кнопке-картинке приходила в виде пары "name=value". Если я создаю форму типа:



то мне приходит только "name=".
Скажи мне, что я делаю не так, и я пойду застрелюсь, чтобы не доставать гуру своими глупыми вопросами.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Submit в виде картинки
« Ответ #10 : 09 Августа 2004, 15:14:55 »
Как оказалось, серверу в качестве value (в паре name=value) пересылается не параметр value тега , т.е. то, что будет написано на кнопке. А надпись на кнопке мне нафиг не нужна, т.к. у меня на ней уже есть картинка.
(Или можно вставить между тегами картинки, гнать на сервер весь тег и по его src= догадаться, на какую кнопку нажали).

И какой же тогда, интересно, самый нормальный способ по нажатию на кнопку-картинку посылать серверу пару name=value на основе выбранной кнопки-картинки.
« Последнее редактирование: 09 Августа 2004, 15:20:11 от Forza »

Оффлайн X-Coder

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Submit в виде картинки
« Ответ #11 : 11 Декабря 2005, 23:24:03 »


Для каждой кнопки делай свое name=

А в скрипте по наличию определенной переменной определяй какое дествие делать. По моему самый нормальный способ.

 

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