【发布时间】:2012-07-31 02:17:40
【问题描述】:
我在一个表单上有两个字段,两个都是输入框,页面加载时输入的值相同,一个是隐藏的。
当用户点击提交时,我想选中这些框,如果值没有不同,我想将可见框的值设置为“”(空字符串)。
这是我的代码(它在一组输入上进行迭代,但基本是我所描述的)
$(".edit_functional_area").submit(function() {
$(".value_shown").each(function(i, obj) {
var hidden_obj = $(this).next();
if (hidden_obj.val() == $(this).val() && $(this).val() != "") {
alert($(this).val());
$(this).val("");
alert($(this).val());
}
});
});
从视觉上看,该字段实际上已被清空,但在服务器上,在我的控制器(这是在 rails 应用程序中)中,参数仍然设置为值。
我想要的是,该值在传入服务器的参数中为空白,因此我的模型在不需要时不会将值添加到数据库中。
有什么想法吗?
谢谢
【问题讨论】:
-
也许
return false;会阻止提交的发生;) -
我怀疑事件处理程序中的数据更改没有到达发送到服务器的数据。如果用
click处理程序替换提交处理程序,该处理程序会更改数据,然后在完成时触发submit事件? -
stackoverflow.com/users/10569/andrewdotnich - 我尝试了一段时间,似乎它可以让我到达那里,但最终的解决方案更接近我的旧代码。不过谢谢你的帮助。
标签: jquery ruby-on-rails ruby-on-rails-3.2