在rails上提交表单之前调用javascript

时间:2014-08-05 22:47:45

标签: javascript ruby-on-rails-3 ruby-on-rails-4

我正在尝试调用javascript函数来验证表单上的某些数据,如果它们没问题,请填写表单字段(隐藏字段)。

在此步骤之后,我想清理一些表单字段并继续执行表单的后期操作。

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

如何在Rails 4上完成此操作?

提前致谢

2 个答案:

答案 0 :(得分:8)

你可以尝试类似的东西:

$(function() {

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

我希望这会有所帮助

答案 1 :(得分:2)

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

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

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