Как добавить JavaScript в поле ввода - PullRequest
2 голосов
/ 22 февраля 2012

У меня есть это поле ввода в Rails 3.1:

<%=f.file_field :image, :id => "upload"%>

Я хочу добавить этот JavaScript перед полем ввода:

onchange="readURL(this);

Как я могу это сделать?

Должен видеть в HTML что-то вроде:

<input type="file" onchange="readURL(this); name="post[image]" id="upload">

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

Вы используете JQuery?

$("#upload").change(function() { 
  ..
}); 

- это один путь, а

$("#upload").bind("change", function() {
  ..
}); 

- это другой.

JQuery Doc.

Обновление:

Вы можете написать это как:

<%= f.file_field :image, :id => "upload", :onchange => "readURL(this)" %>

Это даст вам HTML что-то вроде:

<input type="file" onchange="readURL(this); return false;" name="post[image]" id="upload">
0 голосов
/ 22 февраля 2012

Предпочтительным способом сделать это является использование ненавязчивого JavaScript (по сути, добавление функциональности JavaScript на страницу после загрузки DOM и включение его в качестве необязательного). В rails 3.1 и более поздних версиях вы хотите добавить код JS в ответе Syed на app/assets/javascript/controller_name.js.coffee или аналогично.

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