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>

jQuery 更改 main_body 中的 text_field

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

id 已正确更改,并且在查看 html 时可以看到,但是当我提交表单时,发送过来的信息是:“:nbr => ''”而不是“:nbr_0 => ''”。使用导轨 3.2.13。

编辑:

这是带有隐藏元素的正文标题:

<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=和的字段点对于 a 来说id=可能是唯一的,<form>即使它在许多表单的页面中重复。一个id=页面必须是唯一的。

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

您必须决定是否还想更改id...

于 2013-11-04T02:32:05.270 回答
0

好吧,它不起作用,因为它id是一个 html/css 布局元素,但表单控件实际上是- 所以您不会name更改而是调用:id

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