Ruby on rails 如何为Rails表单提供用户实时反馈

Ruby on rails 如何为Rails表单提供用户实时反馈,ruby-on-rails,validation,forms,live,Ruby On Rails,Validation,Forms,Live,我需要制作一个Rails表单,在用户输入字段时对其作出响应 具体来说,用户需要输入四个十进制字段,表示我们公司运行的一些测试的数据。问题是测试人员经常输入错误(省略一个数字,或者用“4”代替“1”,等等) 这很容易检查,因为在现实生活中,输入的变化不应超过5。我只想在他们输入时发送一条实时消息,如果字段因某些条件而变化,则会说“请仔细检查您的输入是否无误” 我看了很多实时验证教程,包括Advanced Rails Recipes中的一个,但是a)我不需要服务器请求,b)从技术上讲,这不是验证,因

我需要制作一个Rails表单,在用户输入字段时对其作出响应

具体来说,用户需要输入四个十进制字段,表示我们公司运行的一些测试的数据。问题是测试人员经常输入错误(省略一个数字,或者用“4”代替“1”,等等)

这很容易检查,因为在现实生活中,输入的变化不应超过5。我只想在他们输入时发送一条实时消息,如果字段因某些条件而变化,则会说“请仔细检查您的输入是否无误”


我看了很多实时验证教程,包括Advanced Rails Recipes中的一个,但是a)我不需要服务器请求,b)从技术上讲,这不是验证,因为我只想警告用户输入,而不是阻止他们输入。

可能会有所帮助。您可以编写从服务器返回一次的RJ,然后对客户端上的事件执行N次。

您可以使用一些javascript,通过在用户填写表单时将
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.");
  }
});

Javascript就是这里的答案。我应该提到,我对Javascript完全陌生(一周),所以很难谈论它。(对不起,我想键入CR,但继续“添加注释”)。一个字段上的JS元素能否引用其他字段的值?例如,如果我有4个字段a1、a2、a3和a4,onchange事件是否可以检查(比如)我是否在相邻字段的10个单位内?是的,您可以。您将希望使用像jQuery这样的JS库,它使处理DOM变得非常简单。通过这种方式,您可以使用
$('#a1').val()
$('#a2').val()等语法引用字段a1和a2的值(假设它们的id属性分别为a1和a2)。这个jquery去哪里了?在applications.js中?我开始掌握窍门了