我的表单使用rails 3 UJS。
在其中一个字段中,我的默认值为"ABC"。
如果用户没有更改字段,我不希望提交此值。
1) 这是一个可选字段,所以我不想阻止表单提交
2) 我可以劫持":之前"的行动,但这对我来说似乎很生气
这似乎是一个常见的用例——最优雅的方法是什么?
如果您只想支持支持HTML5的浏览器,可以使用<input>
标记的placeholder
属性,而不是设置不想提交的值。
<input type="text" placeholder="ABC" />
请记住,IE9不支持此属性(源代码)。
如果不愿意,可以使用表单的submit
事件来清除表单字段(如果该字段未更改)。
$("#my-form").submit(function(event) {
var input = $("#my-input-box");
if (input.val() === "ABC") {
input.val("");
}
});
您可能会发现,您的用户有时希望在框中键入"ABC"。您可以通过在内容更改时设置标志并检查是否在上述代码中设置了标志来解决此问题,而不是将当前值与默认值进行比较。