2013-06-05 2 views
4

поэтому у меня есть кнопки отправки с этим кодом:Как заполнить кнопку отправки с изображением?

<form method="post"> 
    <input name="submit" type="submit" class="icon" value=" "/> 
</form> 

в CSS У меня есть:

.icon{ 
    background-color:transparent; 
    background-image:url(http://www.lcda.fr/pneu-expo/images/drapeau_rond_gb-on.png); 
    height:20px; 
    width: 20px; 
    background-position:center; 
    border:none; 
    cursor:pointer; 
    background-size: 100%; 
} 

Но проблема в том, что изображение (то есть H: 40px и вес: 40px) не сжимается, чтобы соответствовать кнопке 20px ... У вас, ребята, есть решение для этого? (Я скорее не использую javascript, если это возможно)

EDIT: В настоящее время работает. Я просто удалить историю, наличные деньги, и это работает ... ти

+3

Серьезно, я бы никогда не * * использовать Java-то вроде этого. Java - это не JavaScript. – Antony

+1

Лучшим решением IMO является сохранение изображения размером 20px/20px; таким образом браузер не нуждается в этом при рендеринге страницы. –

+0

Какой браузер? потому что для меня это работает так, как вы ожидаете. Он сжимается –

ответ

3

попробовать это: -

background-size:20px 20px; 
+0

Обратите внимание, что размер фона не поддерживается в IE 8 и более ранних версиях –

+0

. Для любой проблемы для IE 8 и более поздних версий см. Эту страницу http://css-tricks.com/forums/discussion/19221/background-size- и-ie8/p1 –

1

Добавить идентификатор к кнопке Обновление изображения:

document.body.onclick=function(e){ 
    debugger; 
    var bid=document.getElementById('bid'); 
    bid.style.backgroundImage="url('http://www.google.co.il/images/srpr/logo4w.png')";; 
} 

JS скрипку here.

+0

Существует некоторая ошибка, fixng. – WhyMe

+0

Нажмите на кузов (рядом с кнопкой), чтобы изменить изображение. – WhyMe

1

добавить эту строку в файл CSS:

display:block; 
1

Вам нужно обернуть пролетом кнопку и стиль его представить.

DEMO http://jsfiddle.net/H5dmd/2/

HTML

<form method="post"> 
    <span class="icon"> 
     <input name="submit" type="submit" value=" "/> 
    </span> 
</form> 

CSS

input[type=submit]{ 
    background:transparent; 
    width:20px; 
    height:20px; 
    border:none; 
    padding:none; 
    cursor:pointer; 
} 
.icon{ 
    float:left; 
    background-color:transparent; 
    background-image:url(http://www.lcda.fr/pneu-expo/images/drapeau_rond_gb-on.png); 
    height:20px; 
    width: 20px; 
    background-position:center; 
    border:none; 
    cursor:pointer; 
    background-size: 100%;   
} 
1

Вы можете просто использовать ввод типа изображения, оно существует для этой цели именно: кнопка отправки показывает изображение. В качестве бонуса вы также получите координаты, в которые пользователь нажал.

Пример:

<input name="mysubmit" type="image" src="http://www.lcda.fr/pneu-expo/images/drapeau_rond_gb-on.png" /> 

Live test case.

Только один недостаток: в боковом коде сервера, обрабатывающем форму, вам нужно будет проверить, не являются ли «mysubmit.x» и/или «mysubmit.y» неизвестными, есть ли у вас что-либо отправленное, которое меньше интуитивно понятный, чем просто проверка «mysubmit».

3

Используйте вместо этого image submit button и сжимайте элемент до требуемых размеров с помощью CSS.

<input name="submit" type="image" class="icon" 
style="width: 20px; height: 20px" 
src="http://www.lcda.fr/pneu-expo/images/drapeau_rond_gb-on.png" 
alt="Send" /> 
0

Я вижу несколько вариантов здесь:

экономии

Сохранить изображение 20х20 и возгласы, проблема ушла Изменить.

Использование CSS3

CSS3 вводит новую функцию, которая backgroud-size

Просто положить, что в вашем CSS:

background-size: 20px 20px; 

Но это не будет совместима со старыми браузерами.

Использование JavaScript [Bad стиль]

HTML

<form method="POST" action="test.php" name="myform"> 
    <a onclick="javascript:document.forms['myform'].submit();" ><img src="myimage.png" onclick="submit();" /></a> 
</form>