PHP - Elemento reqired

 
Vista:
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por Sergio (112 intervenciones) el 31/05/2021 21:24:24
Buenas noches. Tengo varios formularios en los cuales los input llevan la propiedad required. Los formularios los mando por AJAX. El required no funciona. He leído que el botón de enviar tiene que ser type submit. Lo he puesto así y sigue sin funcionar. ¿Me podríais poner un ejemplo de envío de un formulario por medio de AJAX y con requited? Gracias. Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por joel (1269 intervenciones) el 01/06/2021 08:03:14
Hola Sergio, cuando envias un mensaje por ajax no tienes que utilizar un botón submit o si lo utilizas, tienes que anularlo una vez el usuario lo ha pulsado... pero todo depende de como lo hayas realizado.

Puedes publicar tu formulario y intento especificarte, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por Sergio (112 intervenciones) el 01/06/2021 17:20:11
Te envío el formulario y la llamada ajax.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<div class="modal fade" id="agregardetalle" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Añadir Detalle</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
 
      <div class="modal-body">
 
      <form id="frmnuevodetalle" accept-charset="utf-8" enctype="multipart/form-data">
 
            <input type="text"  name="id_presupuesto" id="id_presupuesto">
 
            <div class="form-group">
                <label for="descripcion" class="text-info">Descripción</label>
                <textarea name="descripcion" id="descripcion" class="form-control" rows="5" style="overflow:scroll;"></textarea>
            </div>
            <div class="form-group">
                <label for="cantidad" class="text-info">Cantidad</label><br>
                <input type="number" name="cantidad" id="cantidad" class="form-control-sx" required>
             </div>
            <div class="form-group">
                <label for="precio" class="text-info">Precio</label><br>
                <input type="number" name="precio" id="precio" class="form-control-sx" required>
            </div>
      </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
        <button type="button" id="btnagregardetalle" class="btn btn-primary">Guardar</button>
      </div>
    </div>
  </div>
</div>
 
$("#btnagregardetalle").on('click', function(e) {
 
          e.preventDefault();
 
        var form = $('#frmnuevodetalle')[0];
        var data = new FormData(form);
 
        $.ajax({
            url: 'procesos/agregar_detalle.php',
            type: 'post',
            data: data,
            cache: false,
            contentType: false,
            processData: false,
            success: function(r) {
              if (r==1){
                        $('#frmnuevodetalle')[0].reset();
                        var posicion = $('#id_posicion_presupuesto').val();
                        alertify.success("Agregada con éxito");
                        $("#agregardetalle").modal('hide');
                        $('body').removeClass('modal-open');
                        $(".modal-backdrop").remove();
                        load(posicion);
 
                    }else{
                        alertify.error("Error al agregar");
                    }
            }
 
        });
        return false;
    });

El formulario está dentro de un modal. También he probado a poner $('#frmnuevodetalle').serialize(); y no funciona. Gracias. Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por joel (1269 intervenciones) el 01/06/2021 19:39:27
Hola Sergio, creo que el problema esta en lo que envias por ajax... Has revisado que se envie el formulario correctamente???

Yo creo que en vez de estas lineas:
1
2
var form = $('#frmnuevodetalle')[0];
var data = new FormData(form);

tiene que ser algo así:
1
var data = $('#frmnuevodetalle').serialize();

Puedes probarlo y revisar que realmente se envíen los datos del formulario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por Sergio (112 intervenciones) el 01/06/2021 20:56:45
A ver, el programa funciona perfectamente pero no funciona el required del html. De todas maneras probaré lo que me has enviado. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por Sergio (112 intervenciones) el 03/06/2021 20:12:07
Buenas tardes. Ya lo he probado y no funciona. Dejo los inputs en blanco y me lo graba así. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Elemento reqired

Publicado por Sergio (112 intervenciones) el 03/06/2021 20:14:00
No es ésto lo que me ocurre. Lo que me ocurre es que no me funciona el required del html. Gracias. Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar