HTML: Как сделать кнопку отправки с текстом + изображением? - PullRequest
33 голосов
/ 25 октября 2009

Я хотел бы иметь кнопку отправки, которая содержит текст и изображение. Это возможно?

Я могу получить точный внешний вид с помощью кода, который выглядит следующим образом:

<button type="button">
<img src="save.gif" alt="Save icon"/>
<br/>
Save
</button>

... но я не нашел способ получить один из них для моих форм. Есть ли способ сделать это с

<input type="submit" ...> 

элемент? Или я вынужден пойти по пути изображения или текста ? Спасибо за вашу помощь!

Ответы [ 10 ]

57 голосов
/ 25 октября 2009

Допустим, ваше изображение представляет собой иконку 16x16 .png с именем icon.png Используйте мощь CSS!

CSS:

input#image-button{
    background: #ccc url('icon.png') no-repeat top left;
    padding-left: 16px;
    height: 16px;
}

HTML:

<input type="submit" id="image-button" value="Text"></input>

Это поместит изображение слева от текста.

27 голосов
/ 25 октября 2009

input type="submit" - лучший способ иметь кнопку отправки в форме. Недостатком этого является то, что вы не можете поместить ничего, кроме текста, в качестве его значения. Элемент button может содержать другие элементы HTML и контент.

Попробуйте добавить type="submit" вместо type="button" в элемент button ( source ).

Обратите особое внимание на следующее на этой странице:

Если вы используете элемент button в форме HTML, разные браузеры будут отправлять разные значения. Internet Explorer отправит текст между тегами <button> и </button>, в то время как другие браузеры отправят содержимое атрибута value. Используйте элемент ввода для создания кнопок в форме HTML.

11 голосов
/ 02 июля 2013

Если опция дингбаты / иконки является опцией, вы можете использовать их вместо изображений.

Ниже используется комбинация

В HTML:

<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">

<form name="signin" action="#" method="POST">
    <input type="text" name="text-input" placeholder="&#xf183; your username" class="stylish"/><br/>
    <input type="submit" value="&#xf090; sign in" class="stylish"/>
</form>

В CSS:

.stylish {
    font-family: georgia, FontAwesome;
}

jsFiddle

Обратите внимание на спецификацию font-family: все символы / кодовые точки будут использовать georgia, возвращаясь к FontAwesome для любых кодовых точек georgia не предоставляет символов для. georgia не предоставляет никаких символов в частном использовании диапазон , именно там, где FontAwesome поместил свои значки .

8 голосов
/ 25 октября 2009

Вы действительно близки к ответу сами

<button type="submit">
<img src="save.gif" alt="Save icon"/>
<br/>
Save
</button>

Или вы можете просто удалить атрибут типа

<button>
<img src="save.gif" alt="Save icon"/>
<br/>
Save
</button>
4 голосов
/ 02 января 2013

Я нашел очень простое решение! Если у вас есть форма и вы хотите иметь пользовательскую кнопку отправки, вы можете использовать такой код:

<button type="submit">
    <img src="login.png" onmouseover="this.src='login2.png';" onmouseout="this.src='login.png';" />
</button>

Или просто укажите ссылку на страницу.

2 голосов
/ 07 августа 2013

Пожалуйста, обратитесь к этой ссылке. Вы можете иметь любую кнопку, которую хотите, просто используйте javascript для отправки формы

http://www.w3schools.com/jsref/met_form_submit.asp

2 голосов
/ 26 октября 2012

<input type="button" id="btnTexWrapped" style="background: url('http://i0006.photobucket.com/albums/0006/findstuff22/Backgrounds/bokeh2backgrounds.jpg');background-size:30px;width:50px;height:3em;" />

Измените элементы стиля ввода так, как вы хотите, чтобы получить нужную кнопку.

Надеюсь, это было полезно.

1 голос
/ 07 ноября 2013

Вы можете сделать это:

HTML код:

    <form action="submit.php" method="get" id="form">        
    <a href="javascript: submitForm()">        
    <img src="save.gif" alt="Save icon"/>        
    <br/>        
    save        
    </a>        
    </form>        

примечание: вы можете использовать и действие, и метод по вашему выбору, и Id, и любой текст, начиная с href = "javascript: и заканчивая на ()", но убедитесь, что при вводе одних и тех же вещей, таких как id и некоторый текст, вы введите замену в тех же местах (java-скрипт и HTML-код).

код java-скрипта:

    var form=document.getElementById("form");        
    function submitForm()        
    {        
    form.submit();       
    }         
1 голос
/ 27 октября 2009

Очень интересно. Мне удалось заставить свою форму работать, но полученное электронное письмо отображает:

imageField_x: 80 imageField_y: 17

внизу полученного письма.

Вот мой код для кнопок.

    <tr>
      <td><input type="image" src="images/sendmessage.gif" / ></td>
      <td colspan="2"><input type="image" src="images/printmessage.gif"onclick="window.print()"></td>
    </tr>

Может быть, это поможет вам и мне.

: -)

0 голосов
/ 24 августа 2017

Вот другой пример:

<button type="submit" name="submit" style="border: none; background-color: white">

...