阻止提交具有默认值的字段

时间:2011-05-21 10:34:59

标签: jquery html ruby-on-rails-3

我正在使用rails 3 UJS作为我的表格。

在其中一个字段中,我的默认值为“ABC”。

如果用户没有更改字段,我不希望提交此值。

1)这是一个可选字段,所以我不想阻止表单提交

2)我可以劫持“:之前”的行动,但这对我来说似乎很骇人听闻

这似乎是一个常见的用例 - 最优雅的做法是什么?

1 个答案:

答案 0 :(得分:2)

如果您只想支持支持HTML5的浏览器,则可以使用placeholder标记的<input>属性,而不是设置您不想提交的值。

<input type="text" placeholder="ABC" />

请记住,IE9不支持此属性(source)。

如果您不愿意,可以使用表单的submit事件清除表单字段(如果尚未更改)。

$("#my-form").submit(function(event) {
    var input = $("#my-input-box");
    if (input.val() === "ABC") {
        input.val("");
    }
});

您可能会发现您的用户有时想在框中输入“ABC”。您可以通过在更改内容时设置标志并检查是否在上面的代码中设置了标志而不是将当前值与默认值进行比较来解决此问题。