2010-10-19 53 views
1

我需要制作一个Rails表单,在用户输入字段时对其进行实时响应。如何向用户提供关于Rails表单的现场反馈

具体来说,用户需要输入四个十进制字段来表示我们公司运行的一些测试数据。问题在于测试人员经常输入错误(忽略一位数字,或者命中'4'而不是'1'等)。

这很容易检查,因为在现实生活中,输入的变化不应超过5个。我只想发送实时消息,因为他们输入的内容如下:“请仔细检查是否有错误在你的输入中“,如果这些字段根据特定条件而变化。

我看了很多现场验证教程,包括Advanced Rails Recipes中的一个,但a)我不需要服务器请求,并且b)这在技术上不是验证,因为我只是想警告输入的用户,并不妨碍他们做出来。

回答

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."); 
    } 
}); 
+0

JavaScript是这里的答案。 – Nitrodist 2010-10-19 05:16:47

+0

感谢您的帮助。 – Bryan 2010-10-20 12:46:09

+0

我应该提到,我完全不熟悉JavaScript(一周),所以我很难谈论它。 – Bryan 2010-10-20 12:46:57

0

AJAX with RJS RailsCast可以提供帮助。您可以编写从服务器返回一次的RJS,然后在客户端上的事件上执行N次。

+0

感谢您的链接 – Bryan 2010-10-20 12:51:07

相关问题