How can I run the javascript function before submitting?

I am using the javascript function to add values ​​to a hidden div that should be sent to the database.
The javascript function should run when you click the submit button, add values, and then the form should be submitted.
My js code will add values ​​like this:

$('#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()+']');
});

(This result evaluates to an array)

I use Rails form_tagand text_field_tag

How can I run this function (and finish) right before submitting the form to the database?

+3
source share
2 answers

You can write all the code in the onSubmit event

as.. -

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

});
0
source

$(#form-id).submit.preventDefault()

, div, a $(#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');
});
0

All Articles