2012-04-13 3 views
0

Я создал кнопку в javascript, и я хотел бы использовать изображение для кнопки вместо текста, но я еще не нашел способ сделать это. До сих пор источники, на которые я ссылался, почему-то не работают на меня. То, что я до сих пор выглядит следующим образомДобавить изображение к кнопке в javascript

Javascript

var sb=doc.createElement('input');    
sb.type='button'; 
//sb.value='Find'; 
sb.src = "url(/Resources/Icons/appbar.next.rest.png)"; 
sb.style.height='100%'; 
//sb.style.width='20%'; 

где мое изображение locoated в каталоге /Resources/Icons/appbar.next.rest.png в моем проекте. Может ли кто-нибудь указать мне в правильном направлении, как правильно использовать изображение для кнопки? Я новичок в javascript, поэтому любые ссылки, коды или направления будут очень благодарны!

+0

plz см. Обновленный ответ. – undefined

ответ

0

для добавления изображения на кнопку, вы можете изменить тип входа от кнопки к изображению:

var body = document.getElementsByTagName("body")[0]; 
var s = document.createElement("input"); 
s.src = "http://www.gravatar.com/avatar/a4d1ef03af32c9db6ee014c3eb11bdf6?s=32&d=identicon&r=PG"; 
s.type = "image"; 
body.appendChild(s); 

вы можете изменить его.

http://jsfiddle.net/6HdnU/

+0

Ваш код работает над изменением типа изображения, за исключением того, что изображение все еще не отображается, хотя оно по-прежнему действует как кнопка, которая хороша. – Matthew

+0

есть, изображение ввод - кнопка. измените его, измените значение sb.src, задайте размер по ширине и высоте изображения. – undefined

+0

Я пробовал ваше предложение, но вместо кнопки вместо кнопки появляется пустая рамка. Я пробовал все, но ничего не работает. – Matthew

1
Use input type="image", or use a button element with an <img> child. 

, например:

<input type="image" src="art/clips/eightbll.gif" 
    name="input_img" width="63" height="64"> 

or 

    <button type="button" id="input_img"> 
    <img src="art/clips/eightbll.gif" 
    alt="Image input control" width="63" height="64"> 
    </button> 
+0

Я не могу поверить, что это возможно, но я тестировал его, и он работает. (По крайней мере, в Firefox.) Хотя я нашел эту статью, в которой говорится, что [изображение типа ввода считается вредным] (http://blog.lexity.com/blog/2011/6/18/input-typeimage-considered-harmful. html) – quodlibetor

+0

Спасибо за ссылку: у меня никогда не было проблемы или даже заметил, что сервер получает координаты изображения, но я полагаю, это может вызвать проблему для somone, somwhere. – kennebec

-1

на основе this page который рекомендует против input type="image" это кажется, как с помощью type="image" может быть проблемой, если вы планируете делать что-либо с помощью кнопки (на сервере или в JavaScript.

В принципе, вместо использования свойств pure-html кнопок для отображения ввода, вы должны использовать свойство background-image CSS.

js matching yours:

var sb=doc.createElement('input');    
sb.type='button'; 
sb.class='myImageButton'; 

и с этим CSS:

input.myImageButton { 
    border: none; 
    cursor: pointer; 
    display: inline-block; 
    text-indent: -3000px; 
    background: url(/Resources/Icons/appbar.next.rest.png) no-repeat 50% 50%; 
    /* width: 20%; */ 
    height: 100%; 
} 

должен работать.

Возможно, стоит отметить, что если вы не делаете ничего со значением этой кнопки, то этот ответ на самом деле не стоит вашего времени. Но вы должны быть уверены.

+0

Мое решение наилучшим образом соответствует одному ниже, за исключением того, что мое изображение все еще не отображается правильно, хотя кнопка остается доступной. Любые идеи о том, как правильно указывать на правильный каталог? – Matthew

+0

Если вы проходите через сервер (Apache или что-то еще), то ресурс будет относиться к «корню документа», а поскольку это идентификатор ресурса «/ rooted», он должен быть правильным независимо от того, что. Является ли '/ Resource ...' относительно корня документа или файловой системы? – quodlibetor

+0

его фактически используется в управлении веб-браузером в приложении WP7. Я создаю функцию javascript в текстовом файле и загружаю этот текстовый файл в свой код C#, который работает правильно до сих пор. У меня есть изображение в папке/Resources/Icons. – Matthew

Смежные вопросы