Pregunta ¿Cómo agregar campos adicionales para formar antes de enviar?


¿Hay alguna forma de utilizar javascript y JQuery para agregar algunos campos adicionales que se enviarán desde un formulario HTTP utilizando POST?

Quiero decir:

<form action="somewhere" method="POST" id="form">
    <input type="submit" name="submit" value="Send" />
</form>

<script type="text/javascript">

    $("#form").submit( function(eventObj) 
        {
            // I want to add a field "field" with value "value" here
            // to the POST data

            return true;
        }
</script>

73
2017-07-23 11:34


origen


Respuestas:


Sí. Puedes probar con algunos params ocultos.

  $("#form").submit( function(eventObj) {
      $('<input />').attr('type', 'hidden')
          .attr('name', "something")
          .attr('value', "something")
          .appendTo('#form');
      return true;
  });

111
2017-07-23 11:36



Prueba esto:

$('#form').submit(function(eventObj) {
    $(this).append('<input type="hidden" name="field_name" value="value" /> ');
    return true;
});

34
2017-07-23 11:37



Puedes agregar un hidden  input con cualquier valor que necesite enviar:

$('#form').submit(function(eventObj) {
    $(this).append('<input type="hidden" name="someName" value="someValue">');
    return true;
});

9
2017-07-23 11:37



$('#form').append('<input type="text" value="'+yourValue+'" />');

6
2017-07-23 11:38



Esto funciona:

var form = $(this).closest('form');

form = form.serializeArray();

form = form.concat([
    {name: "customer_id", value: window.username},
    {name: "post_action", value: "Update Information"}
]);

$.post('/change-user-details', form, function(d) {
    if (d.error) {
        alert("There was a problem updating your user details")
    } 
});

0
2017-09-23 21:08