表单中的Ajax单字段提交

时间:2012-03-06 13:52:20

标签: ruby-on-rails ajax ruby-on-rails-3 ruby-on-rails-3.1

我创建了一个订单表单,其中包含大量字段。我现在正在添加优惠券功能,以便我们可以开始向客户提供折扣代码等。

点击“应用优惠券”按钮后,使用ajax提交单个字段(优惠券代码)的最佳方式是什么?这样可以使用UJS(?)在前端更新价格 - 显然是最终的价格计算会发生在后端吗?

干杯。

1 个答案:

答案 0 :(得分:1)

我建议使用JS框架来执行Ajax请求。如果您是JQuery,那么您可以使用给出的示例来了解如何执行simple post

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <form action="/" id="searchForm">
   <input type="text" name="s" placeholder="Search..." />
   <input type="submit" value="Search" />
  </form>
  <!-- the result of the search will be rendered inside this div -->
  <div id="result"></div>

<script>
  /* attach a submit handler to the form */
  $("#searchForm").submit(function(event) {

    /* stop form from submitting normally */
    event.preventDefault(); 

    /* get some values from elements on the page: */
    var $form = $( this ),
        term = $form.find( 'input[name="s"]' ).val(),
        url = $form.attr( 'action' );

    /* Send the data using post and put the results in a div */
    $.post( url, { s: term },
      function( data ) {
          var content = $( data ).find( '#content' );
          $( "#result" ).empty().append( content );
      }
    );
  });
</script>

</body>
</html>