Onclick Отправить форму Javascript с кнопками изображений - PullRequest
2 голосов
/ 18 февраля 2011

эй, ну, у меня есть эта форма

    <form method="POST" action=''>
<input type="hidden" name="op" value="download1">
<input type="hidden" name="usr_login" value="<TMPL_VAR usr_login>">
<input type="hidden" name="id" value="<TMPL_VAR file_code>">
<input type="hidden" name="fname" value="<TMPL_VAR file_name>">
<input type="hidden" name="referer" value="<TMPL_VAR referer>">
<div class="premium-download"><input name="method_premium" value="<TMPL_VAR lang_premium_download>" type="image" src="images/premium-download.png" alt="<TMPL_VAR lang_premium_download>" border="0" /></div>
<div class="free-download"><input name="method_free" value="<TMPL_VAR lang_free_download>" type="image" src="images/free-download.png" alt="<TMPL_VAR lang_free_download>" /></div>
</form>

Как я могу отправить форму из входных изображений (см. Два последних поля)?Прямо сейчас они установлены как тип изображения, и я понимаю, что они не будут отправлять форму по умолчанию.Может ли кто-нибудь помочь?Мне сказали сделать это с помощью JavaScript: D

Ответы [ 3 ]

5 голосов
/ 18 февраля 2011

Я изначально неправильно понял ваш вопрос. Как уже отмечалось, <input type="image"> элементы do отправляют формы. Однако, если вы ищете больше универсальности, чем ввод изображений, мой ответ по-прежнему применим.

<Ч />

Мне сказали сделать это с помощью JavaScript

Не используйте вместо этого <button> элементы. Элементы <button> работают как <input type="button">, за исключением того, что они могут быть стилизованы так, чтобы не иметь границ, быть прозрачными и содержать другой HTML. Например:

<button type="submit" name="method_premium" value="<TMPL_VAR lang_premium_download>">
  <img src="images/premium-download.png" alt=alt="<TMPL_VAR lang_premium_download>" />
</button>

Создайте стиль кнопки с помощью CSS (border:none; background-color:transparent;), и все готово.

Кнопки, созданные с помощью элемента BUTTON, аналогичны кнопкам, созданным с помощью элемента INPUT, но они предоставляют более широкие возможности рендеринга: элемент BUTTON может иметь содержимое. Например, элемент BUTTON, содержащий изображение, функционирует подобно и может напоминать элемент INPUT, тип которого установлен на «изображение», но тип элемента BUTTON допускает содержимое.

1 голос
/ 18 февраля 2011

Я не знаю, чего вы пытаетесь достичь, но вы можете отправить форму, используя JavaScript. Возможно, лучше всего использовать КНОПКУ, предложенную @Andy E:

<form method="POST" name='myForm'>   
...
...


<script lang="javascript">
function SubmitForm()
{
  document.forms['myForm'].submit() ;
}
</script>
1 голос
/ 18 февраля 2011

Элементы ввода с «типом», установленным на «изображение», действительно действуют (почти) точно так же, как и «представить» входные данные. Это «почти» именно потому, что вы также получаете координаты щелчка мыши, и вы не получаете «значение» элемента ввода.

Если вы хотите, чтобы щелчки на входах «изображения» отправляли значения, самое простое, что вы могли бы сделать - это иметь еще пару скрытых входов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...