Rails中提交表单前调用javascript

6

我想调用一个JavaScript函数来验证表单上的一些数据,如果它们是正确的,就填充一个表单字段(隐藏字段)。

完成这一步后,我想清除一些表单字段并继续进行表单的提交操作。

因此,在我的控制器上得到的结果将是这个隐藏字段,由我的JavaScript逻辑填充,并清除其他字段。

如何在Rails 4上实现这一点?

先行致谢。

2个回答

11

你可以尝试这样做:

$(function() {

  $('button').click(function(e){
    e.preventDefault();
    //DO SOMETHING
    $('YOURFORM').submit();
  }
})

我希望这可以帮到你。


3

可以通过将事件监听器附加到表单本身来处理表单提交操作。这样可以使用Rails中包含的JavaScript驱动程序来执行诸如在提交时禁用按钮(例如<%= submit_tag "Apply Filters", :data => {:disable_with => 'Applying...'} %>)等操作。

$('form#form-id').submit(function() {
    if (valid) {
        return true;
    }
        return false;
    }
})

注意:从传递给事件监听器的函数中返回false与在事件对象上调用preventDefault执行相同的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接