Ruby on Rails - передача значения поля ввода - PullRequest
2 голосов
/ 09 апреля 2011

Привет, я застрял здесь довольно плохо.Senario довольно прост на самом деле, у меня есть поле ввода, например:

 %input.coupon_bar{:type => "text", :name=> "coupon", id=>"coupon_id"}/

И я хочу передать любое значение в этом поле на другой контроллер, я пытаюсь сделать это так:

= link_to image_tag("ok_button.png", :border =>0), "/orders/new/", :coupon = #{$('.coupon_bar').val()}

Я думал, что было бы просто использовать jquery $('.coupon_bar').val(), но я думаю, что это не так просто, как я думал ... любая помощь, пожалуйста ????

Да, и в отличие от Этот вопрос StackOverFlow , мое поле ввода не является частью какой-либо формы ...

Заранее спасибо ...

Ответы [ 2 ]

3 голосов
/ 09 апреля 2011

Я вижу там две плохие практики:

  1. Не жестко кодируйте свои ссылки

  2. Избегайте навязчивых js, когда это возможно

Вот что я предлагаю:

= link_to image_tag("ok_button.png", :border =>0), new_order_path, :id => "my_link"

А в вашем js:

<script type="text/javascript" charset="utf-8">

$().ready(function(){
    $('#my_link').click(function(){
        $(this).attr('href', $(this).attr('href') + '?coupon=' + $('.coupon_bar').val());
    });
});

</script>
1 голос
/ 09 апреля 2011

Почему бы тебе просто не поместить это в форму? Это было бы намного проще.

В любом случае, вы можете использовать клик по ссылке для достижения своей цели:

<a href="#" onclick="window.location.href = '/orders/new/coupon='+ $('.coupon_bar').val();">
Text</a>
...