如何在提交之前运行javascript函数?

时间:2014-02-03 07:24:09

标签: javascript jquery html ruby-on-rails ruby-on-rails-3

我正在使用javascript函数将值附加到隐藏的div,该div必须提交到数据库 单击“提交”按钮时,需要运行javascript函数,附加值,然后然后应提交表单。
我的js代码附加了这样的值:

$('#submitButton').click( function () {
  $('#submitField').val('[');
  $.each(Selector.selected_options, function (i) {
    if (i == 0){
      $('#submitField').val($('#submitField').val() + this.id);
    } else {
      $('#submitField').val($('#submitField').val() + ', ' + this.id);
    }
  });
  $('#submitField').val($('#submitField').val()+']');
});

(此输出被评估为数组)

我正在使用Rails form_tagtext_field_tag

如何在将表单提交到数据库之前运行(并完成)此函数?

2 个答案:

答案 0 :(得分:0)

您可以将所有代码写入onSubmit事件

喜欢...... -

$( "#target" ).submit(function( event ) {
  alert( "Handler for .submit() called." );

});

答案 1 :(得分:0)

您可以使用$(#form-id).submit.preventDefault()

然后处理div的函数然后$(#form-id).trigger('submit')在填充div之后提交表单

$('#FORM-ID').submit( function (e) {
  e.preventDefault();
  $('#submitField').val('[');
  $.each(Selector.selected_options, function (i) {
    if (i == 0){
      $('#submitField').val($('#submitField').val() + this.id);
    } else {
      $('#submitField').val($('#submitField').val() + ', ' + this.id);
    }
  });
  $('#submitField').val($('#submitField').val()+']');
  $('#FORM-ID').trigger('submit');
});