我有一个简单的表单,我动态地改变了元素。当我通过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');
在查看html时可以正确更改ID,但是当我提交表单时,发送的信息是:“:nbr =&gt;''”而不是“:nbr_0 =&gt;''”。使用rails 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”=&gt;“”。我希望它是“hidden_info_0”=&gt;“test”。
答案 0 :(得分:0)
同时更改name=
。具有name=
和id=
的字段的点是后者对于<form>
可以是唯一的,即使它在多个表单的页面上重复。 id=
必须是页面唯一的。
$('#nbr').attr('name', 'nbr_0');
您必须决定是否还要更改id
...
答案 1 :(得分:0)
好吧它没有用,因为id
是一个html / css布局元素,但表单控件实际上是name
- 所以不要改变id
而是调用:< / p>
$('#nbr').attr('name', 'nbr_0');