我需要制作一个Rails表单,在输入字段时回复用户。
具体来说,用户需要输入四个十进制字段,表示我们公司运行的某些测试数据。问题是测试人员经常输入不正确(省略数字,或点击'4'而不是'1'等)。
这很容易检查,因为在现实生活中,输入的变化不应超过5.我只想发送一条实时消息,因为他们输入了类似“请仔细检查没有错误您的输入“如果字段因某些条件而异。
我查看了许多实时验证教程,包括Advanced Rails Recipes中的一个,但是a)我不需要服务器请求,并且b)这在技术上不是验证,因为我只想警告用户输入,而不是阻止它们制作它。
答案 0 :(得分:2)
您可以通过将onchange
附加到您要在用户填写表单时警告用户的输入字段来执行此操作。这样,当他们移动到表单中的下一个字段时,会调用您的事件处理程序,检查他们刚刚输入信息的表单字段的值,并决定是否用警告消息提醒用户。您根本不必点击服务器。
使用jQuery的一个例子:
$('#your_form_field').change(function () {
var isValid = false; // Validate the input's value based on some criteria
if (!isValid) {
alert("Please check your work.");
}
});
答案 1 :(得分:0)
AJAX with RJS RailsCast可以提供帮助。您可以编写从服务器返回一次的RJS,然后对客户端上的事件执行N次。