Использование текстового поля для изменения формы скрытого поля - PullRequest
0 голосов
/ 19 сентября 2011

Я использую Jquery с Ruby on Rails (3.1) и у меня возникли проблемы с обновлением скрытого поля с помощью javascript.

В основном у меня есть текстовое поле, и я пытаюсь использовать ajax для обновления двух разных скрытых полей формы (одна форма для Google Checkout, другая для платежей Amazon).

Мой Javascript выглядит так:

$(function() {
  $('#payment_amount input').keyup(function() {
    var quantity = $('#payment_amount input').val();
    $("input[name='amount']").val("USD" + quantity);
    $("input[name='item_price_1']").val(quantity);
    return false;
  });
});

В данный момент у меня есть это в моем файле application.js (еще не в моем .js.coffee, нужно еще изучить сценарий кофе).

Я думаю, что этот javascript правильный, так как я беру значение из поля ввода, и оно должно обновить поля ввода с именами 'amount' и 'item_price_1'. Я подумал, что, возможно, мои селекторы были не правы, вот мой HTML:

<input id="payment_amount" type="text" size="30" name="payment[amount]"> #textfield to change form hidden fiels

<form method="POST" action="https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/.... accept-charset="utf-8">
  <input type="hidden" name="item_price_1" value="20"/> #what I want to change
  ....
</form>

<form action="https://authorize.payments.amazon.com/pba/paypipeline" method="post">
<input type="hidden" name="amount" value="USD 20" > #also change this
</form>

Это все из файла new.html.erb. У меня нет нового файла .js.erb, он мне нужен?

Сейчас этот javascript, похоже, ничего не делает.

Буду признателен за любую помощь.

1 Ответ

2 голосов
/ 19 сентября 2011

Измените эту строку:

$('#payment_amount input').keyup(function() {
     var quantity = $('#payment_amount input').val();

На это:

$('#payment_amount').keyup(function() {
     var quantity = $(this).val();

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

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