2016-10-24 3 views
0

Я хочу создать функцию, которая добавляет значение текстового поля в другое, проблема заключается в том, что я использую формы из Ruby on Rails, и я не знаю, можно ли получить идентификатор из поля Я хочу обработать. Это мой код:Как передать элементы Ruby on Rails 'form_for' в функцию Javascript?

Это вложенная форма.

<%= f.fields_for :invoices do |invoice_form| %> 
    <br> 
    <%= invoice_form.label :in_number %> 
    <br> 
    <%= invoice_form.text_field :in_number %> 
    <br> 
    <%= invoice_form.label :in_amount %> 
    <br> 
    <%= invoice_form.text_field(:in_amount,:onkeypress => "myFunction(document.getElementById('in_amount'))") %> 
    <br> 
    <%= invoice_form.label :in_date %> 
    <br> 
    <%= invoice_form.date_select :in_date %> 
    <br> 
    <%= invoice_form.label :in_meshHr %> 
    <br> 
    <%= invoice_form.text_field :in_meshHr %> 
    <% end %> 

А вот мой Javascript функция:

function myFunction(text) { 
    var amount = parseFloat($('#purchase_order_po_amount').val()); 
    var amount1 = document.getElementById(text).value; 
    alert(amount1+amount); 
} 

ответ

0

Вы можете передать this, который будет представлять поле, которое вы хотите.

<%= invoice_form.text_field(:in_amount,:onkeypress => "myFunction(this)") %> 

, а затем в функции вы можете сделать:

function myFunction(element) { 
    var amount = parseFloat($('#purchase_order_po_amount').val()); 
    var amount1 = $(element).val(); 
    alert(amount1+amount); 
} 
Смежные вопросы