entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Como capturar valores de varios Input Dinámicos con JavaScript

Buenas,
Tengo una parte en mi sitio web que es para insertar paises, pero como manejo varios idiomas en el mismo sitio pongo varios input uno para cada idioma para luego capturarlo con javascript y pasarlo por ajax para insertarlos pero cuando los voy a capturar no he podido tomar el value,
Código HTML+PHP:

<div class="form-group">
     <?php echo form_label('Nombre del Pías', 'label_fuente',array('class' => 'col-lg-10 control-label')); ?>  
     <div class="col-lg-10" id="nombres_paises">          
       <?php             
           foreach ($idiomas as $idioma) {
           echo form_input(array('id'=>$idioma->id,'class'=>'form-control espaciar nombrePaisIdioma','placeholder'=>'Nombre en '.$idioma->nombre));          
       }?>
    </div>            
</div>

Cógido JavaScript:

function add_pais(){
    var nombres_paises = $(".nombrePaisIdioma");
}

le hice un debug al javascript y me sale que efectivamente la variable nombres_paises tiene un array de cada input de la classe seleccionada y cada una tiene su valor id y value que quiero consumir pero no se como acceder a ellos.
Saludos Dairon

1 Respuesta

2votos

white Puntos75840

Hola @dairon, desconozco como deseas recuperarlo en el servidor, pero una forma podria ser:

<script type="text/javascript">
    var nombres_paises = {};

    $('.nombrePaisIdioma').each(function() {
        nombres_paises[$(this).attr('id')] = $(this).val();
    });

    $.ajax({
        type : 'POST',
        data : {
            'nombres_paises' : nombres_paises
        },
        url : 'index.php',
        success : function(){}
    });

</script>

en el servidor $_POST['nombres_paises'] es un array que como claves tiene el id de los input y como valor el valor del input respectivamente:

<?php
    $nombres_paises = $_POST['nombres_paises'];
    print_r($nombres_paises);

0voto

dairon comentado

quedó especial @white, cada vez que veo tus códigos en javascript me doy cuenta que tengo que aprender mucho y aprender a pensar para el ECMA SCRIPT que es diferente a otros lenguajes, como ha cambiado todo desde el Pascal ;). gracias por el Código
Saludos Dairon

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta