如何防止输入发送参数

时间:2014-04-24 08:25:00

标签: ruby-on-rails coffeescript simple-form

我有两个输入,都使用数据库中的相同字段。它们之间的区别很简单,一个是文本输入,另一个是用户可以从下拉列表中选择一些东西。可能看起来像这样:

= f.input :age, :label => false, input_html: {class: "textfield"}
= f.input :age, :label => false, input_html: {class: "dropdown"}, collection: [1,2,3]

在这种情况下,只有第二个输入才会发送信息。 我的问题是:如何防止输入发送任何内容而不将其从HTML中删除? (我的目的是启用用户选择选项“自定义年龄”,这将使他们能够填充字段,以及自定义值。棘手的部分是输入必须始终存在)

1 个答案:

答案 0 :(得分:2)

如果禁用输入,则在提交表单时不会发送其值。因此,您可以在表单上使用onSubmit事件在提交表单之前禁用正确的输入。

使用jQuery,它看起来像这样:

$('form').on('submit', function() {
    var textInput = ...;
    var dropdownInput = ...;
    if (textInput.val() == '') {
        textInput.prop('disabled', true);
    } else {
        dropdownInput .prop('disabled', true);
    }
});