Dig*_*ora 12 jquery ruby-on-rails
我正在使用带有jQuery的Rails 3,并且有一个带有单个文本输入和提交按钮的简单表单.我提交表单:remote => true,并希望在提交表单后清除输入.我试过这个jQuery代码:
$('#new_message').submit(function() {
$('#message_content').val('');
});
Run Code Online (Sandbox Code Playgroud)
但是,这会在提交表单之前清除输入,因此我最终会提交一个空白表单.
经过一番搜索后,我也尝试了以下版本:
$('#new_message').submit(function(e) {
e.preventDefault();
this.submit();
$('#message_content').val('');
});
Run Code Online (Sandbox Code Playgroud)
...但是这似乎覆盖了:remote => true魔法,并且表单会在整页重新加载时提交.有任何想法吗?
abh*_*hek 21
当为标记的表单按下提交按钮时remote => true,rails.js中的javascript代码会执行submit().您无需覆盖该功能.
试试这个$(document).ready-
(编辑:使用bind代替live.感谢Darren Hicks.)
$("#new_message").bind("ajax:complete", function(event,xhr,status){
$('#message_content').val('');
}
Run Code Online (Sandbox Code Playgroud)
这会为事件添加事件处理程序ajax:complete.完成ajax-submit-form后会触发此事件.更多这里.
| 归档时间: |
|
| 查看次数: |
10784 次 |
| 最近记录: |