如何在Rails中正确地使用Ajax并处理部分的表单错误
How to properly do Ajax and handle form errors for a partial in Rails?
我在侧边栏有一个时事通讯注册框:
--------------------------------
| | |
| | |
| |__________|
| |NEWSLETTER|
| | |
| | |
--------------------------------
我创建了一个具有以下操作的newsletter tter_controller:
class SubscribersController < ApplicationController
def create
@subscriber = Subscriber.new(params[:subscriber])
end
end
我对rails中的一些事情感到困惑:
1。如何编写的形式与rails帮助,将张贴到这作为一个AJAX请求?
2。如果用户输入的不是有效的电子邮件或空白,我如何在表单字段旁边的时事通讯侧边栏中写出消息?
3。如果插入成功,如何将表单替换为"您已注册"消息
我是rails和jquery的新手。
1)您需要阅读有关处理表单和ajax发布的rails和jquery api。前者可以在这里找到:http://guides.rubyonrails.org/form_helpers.html后者可以在这里找到:http://api.jquery.com/jQuery.post/。这两页都有很好的例子
2)您将希望通过javascript对输入运行某种基本正则表达式(当数据从rails发布时也是如此)来验证用户输入。这里是另一篇关于这个的堆栈溢出文章:jQuery Email Regex。下面是使用它的一个例子:
var fakeEmailAddress = "a@b.com";
var emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+'.[A-Z]{2,6}$/i;
var isAnEmailAddress = fakeEmailAddress.match(emailRegex);
if (!isAnEmailAddress) {
alert("Yo bro. What's up with that email addy? Try again");
}
3)在jquery ajax post中,您可以设置"success"函数来完成此操作。查看#1中的链接。你可能会想要给表单一个ID属性,并替换表单的html数据,你从那篇文章中检索像在以下stackoverflow问题:为什么这不起作用?Jquery ajax替换特定div中的内容
相关文章:
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- 在javascript中调用seam远程函数时处理连接错误
- AngularJS错误处理:根据错误数组显示错误
- 我应该如何使用Ajax处理验证错误
- BaseResponseOptions angular2处理全局错误
- 如何处理JSON错误消息
- 如何在响应时处理ajax错误
- 谷歌浏览器扩展名$.ajax发布事件处理程序错误
- j查询动态事件处理程序错误
- 在主干视图中处理图像错误事件
- 节点 JS 取消处理程序错误事件
- Durandal:在找不到视图/视图模型时处理 RequireJS 错误
- 处理 nodejs 错误并提供不同自定义消息详细信息的最佳方法
- 将长 HTML 文本导出到电子邮件(避免“请求的 URL /.. 太大而无法处理”414 错误)
- 幻影 - 处理网络错误
- 尝试使用Fancybox / Ajax处理登录错误
- 有没有办法测试谷歌数据馈送?不知道如何处理这些错误
- 运行Yeoman时发生未处理的错误事件
- 如何处理JS错误
- 如何防止浏览器调用基本的验证弹出窗口并使用Jquery处理401错误