Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用文本字段更改表单隐藏字段_Javascript_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Javascript 使用文本字段更改表单隐藏字段

Javascript 使用文本字段更改表单隐藏字段,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我在RubyonRails(3.1)中使用Jquery,在通过javascript更新隐藏字段时遇到了一些问题 基本上我有一个textfield,我正试图使用ajax更新两个不同的表单隐藏字段(一个表单用于googlecheckout,一个表单用于amazon支付) 我的Javascript看起来是这样的: $(function() { $('#payment_amount input').keyup(function() { var quantity = $('#payment_a

我在RubyonRails(3.1)中使用Jquery,在通过javascript更新隐藏字段时遇到了一些问题

基本上我有一个textfield,我正试图使用ajax更新两个不同的表单隐藏字段(一个表单用于googlecheckout,一个表单用于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中还没有,需要查看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>
#更改表单隐藏字段的文本字段
更改此行:

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

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

您对“付款金额”字段使用了错误的选择器。你可以。

$(“#付款金额”)
已经足够了,因此jquery可以使用getElementByIdYep,已经对其进行了编辑以删除额外的元素类型。哇,伙计们,非常感谢。JSFIDLE似乎也是一个很棒的工具。再次感谢。没问题,是的,jsFiddle真是太棒了:)。如果这个答案对您有用,请不要忘记单击“接受”。