Foros del Web » Programando para Internet » Javascript »

Asignar valor a un input dinámico

Estas en el tema de Asignar valor a un input dinámico en el foro de Javascript en Foros del Web. Buenas, no consigo asignar a un input de tipo time un valor. El problema esta en que tengo inputs de tipo time que se me ...
  #1 (permalink)  
Antiguo 10/12/2013, 13:43
 
Fecha de Ingreso: noviembre-2012
Mensajes: 184
Antigüedad: 11 años, 5 meses
Puntos: 0
Asignar valor a un input dinámico

Buenas,
no consigo asignar a un input de tipo time un valor. El problema esta en que tengo inputs de tipo time que se me generará automaticamente asignado como name un nombre mas un numero, es decir, por ejemplo fin1, fin2... y tendre tb inicio1, inicio2...
El caso es que cuando voy asignarle el valor a fin1 por ejemplo e dice que no esta definido o en otros casos que he probado me dice error al referenciar.
Adjunto tanto el formulario como el script.
Código HTML:
<b>Hora de Inicio:</b>
<br>
<input type="time" id="hora1" name="ini_grupo1" value="12:00" onchange="poner_hora(this.form,this.name,this.value)" required>
<b>Hora de Finalización:</b>
<br>
<input type="time" id="hora1" name="fin_grupo1" required>

<b>Hora de Inicio:</b>
<br>
<input type="time" id="hora1" name="ini_grupo2" value="12:00" onchange="poner_hora(this.form,this.name,this.value)" required>
<b>Hora de Finalización:</b>
<br>
<input type="time" id="hora1" name="fin_grupo2" required> 
Adjunto aquí el script, que básicamente lo que hace sumarle media hora al valor de ini_grupox:
Código:
function poner_hora (form,nom,ahora)
    {
        var hora = ahora;
        var arhora = hora.split(":");
        var h1 = parseInt(arhora[1],10) + 30;
        var h0 = parseInt(arhora[0],10);
        if(h1>59)
        {
            h1 -= 60;
            h0++;
        }
        if(h0<10)
        {
            if(h1<11)
            {
                var aux = "0" + h0.toString();
                var h = aux + ":0" + h1.toString();
            }
            else
            {
                var aux = "0" + h0.toString();
                var h = aux + ":" + h1.toString();
            }
        }
        else
        {
            if(h1<11)
            {
                var h = h0.toString() + ":0" + h1.toString();
            }
            else
            {
                var h = h0.toString() + ":" + h1.toString();
            }
        }
        if(nom.length>9)
        {
            if(nom.length==10)
            {
                var c = nom.substring(nom.length-1,nom.length);
            }
            if(nom.length==11)
            {
                var c = nom.substring(nom.length-2,nom.length);
            }
            var nom_var = "fin_grupo" + c;
            var fin = form.getElementByName(eval(nom_var));
            alert(fin);
        }
        else
        {
            form.fin_grupo.value = h;
        }
    }

Etiquetas: formulario, input, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:10.