0

要素を動的に変更する単純なフォームがあります。submit_tag を介してこのフォームを送信すると、変更された要素がサーバーに渡されません。何を追加する必要がありますか? Rails にはやや新しいので、助けていただければ幸いです。

形:

<form action="/cabinets" id="cabinets_form" method="post">
  <div id="main_body">
    <%= render 'layouts/body_header' %>
  </div>
</form>

本文ヘッダー:

<div style="width: 1250px; position: relative; left: -150px; height: 50px;">
  <%= text_field_tag 'nbr', nil, :style => 'width: 30px; font-family: monospace; position: relative; left: 60px;', maxlength: 3 %>
</div>

main_body の text_field を変更する jQuery

$('#nbr').attr('id', 'nbr_0');

id は正しく変更され、html を表示すると表示されますが、フォームを送信すると、送信される情報は「:nbr_0 => ''」ではなく「:nbr => ''」になります。レールの使用 3.2.13.

編集:

hidden 要素を含む body ヘッダーは次のとおりです。

<div style="width: 1250px; position: relative; left: -150px; height: 50px;">
  <%= text_field_tag 'nbr', nil, :style => 'width: 30px; font-family: monospace; position: relative; left: 60px;', maxlength: 3 %>
  <%= hidden_field_tag "hidden_info", nil %>
</div>

このコードで名前を変更した後、値を更新しようとしています。

$('#hidden_info').attr('name', 'hidden_info_0');
$('#hidden_info').html("test");

パラメータの出力は次のとおりです: "hidden_​​info_0"=>"". 「hidden_​​info_0」=>「test」にしてほしいです。

4

2 に答える 2

0

も変更しname=ます。name=と の両方を持つフィールドのポイントは、多くのフォームのページで繰り返される場合でもid=、後者に固有のものです。はページに固有である必要があります<form>id=

$('#nbr').attr('name', 'nbr_0');

また、変更するかどうかを決定する必要がありますid...

于 2013-11-04T02:32:05.270 に答える
0

は html/css レイアウト要素であるため機能しませんidが、フォーム コントロールは実際には機能します。name変更するid代わりに、次のように呼び出します。

$('#nbr').attr('name', 'nbr_0');
于 2013-11-04T02:32:11.780 に答える