JavaScript - Input dinámico

 
Vista:
sin imagen de perfil

Input dinámico

Publicado por luis (1 intervención) el 18/12/2019 23:54:39
Muy buenas tardes quisiera me pudieran orientar o ayudar con el siguiente tema intento realizar inputs dinámicos y que contengan un input file el generarlos ya los tengo pero necesito enviar eso a php a través de un ajax y de hay a la base de datos a través de php detalle es que no encuentro la forma de hacerlo, reconozco que exiten dos formas por las cuales se pueden enviar unas mediante FormData y la otra es mediante FileReader pero tomando en cuenta que es dinamico no logro entender o hacer que funcione
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
 
    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <form method="POST">
    <table class="table">
  <thead>
    <tr>
      <th scope="col">Acciones</th>
      <th scope="col">#</th>
      <th scope="col">Nombre</th>
      <th scope="col">Apellido</th>
      <th scope="col">Edad</th>
    </tr>
  </thead>
  <tbody id="campos">
 
  </tbody>
  </table>
<button id="mas" type="button" class="btn btn-outline-info" onclick="agrega();">+</button>
 
    <center><div class="container">
    <input type="submit" class="btn btn-outline-success" name="subir" id="upload" onclick="enviar(); return false;" >
    </div></center>
    </form>
 
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
  <script>
  nrow=0;
  function agrega(){
      nrow++;
      console.log(nrow);
      console.log("Ingresaras un nuevo elemento")
      $("#campos").append("<tr id='ag"+nrow+"'>"+
      "<th scope='row'><button class='btn btn-outline-danger' onclick='elimina();return false;' >X</button></th>"+
      "<td>"+nrow+"</td>"+
      "<td><input class='form-control' name='nombre[]' id='na"+nrow+"' placeholder='Ingresa tu Nombre'></td>"+
      "<td><input class='form-control' name='app[]' id='ap"+nrow+"' placeholder='Ingresa tu Apellido'></td>"+
      "<td><input class='form-control' name='edad[]' id='ed"+nrow+"' placeholder='Ingresa tu Edad'></td>"+
      "</tr>");
  }
  function elimina(index){
      console.log("Ingresa a eliminar input");
      $("#ag"+nrow).remove();
      nrow--;
      console.log(nrow);
 
  }
  function enviar(index){
    //console.log("Enviando inputs...");
    for(a=1;a<=nrow;a++){
        if($("#na"+a).val() ==""){
          console.log("Favor de llenar el campo"+a+" de nombre");
          $("#na"+a).css("background-color", "");
        }else if($("#ap"+a).val() ==""){
          console.log("Favor de llenar el campo"+a+" de apellido");
          $("#ap"+a).css("background-color", "");
        }else if($("#ed"+a).val()==""){
          console.log("Favor de llenar el campo"+a+" de edad");
          $("#ed"+a).css("background-color", "");
        }
          else{
         var valores=$('.name').val();
 
 
         console.log(valores);
        }
    }
 
  }
  </script>
  </body>
</html>
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