Foros del Web » Programando para Internet » Javascript »

Agregar input solo 10

Estas en el tema de Agregar input solo 10 en el foro de Javascript en Foros del Web. Tengo un Javascript que me genera imputs segun apreto el boton + y -, funciona perfecto esta modificado para que siempre haya al menos 1 ...
  #1 (permalink)  
Antiguo 17/12/2008, 12:02
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Agregar input solo 10

Tengo un Javascript que me genera imputs segun apreto el boton + y -, funciona perfecto esta modificado para que siempre haya al menos 1 input text, pero me gustaria saber que debo modificar para que me genere solo 10 por que asi como esta genera todos los que quiero

saludos


aqui mi codigo :
agradecimientos y fuente : hieloverde
Código:
<?php
if(isset($generar)){$contador=$generar + 1;}
else{$contador=1;}
echo 'var contador='.$contador;
?>

function agregar(){
var tabla=document.getElementById("tabla").getElementsByTagName("tbody")[0];
var tr=document.createElement("tr");
var td=document.createElement("td");
td.innerHTML=contador+'.- <input type="text" name="nombre[]">';
tr.appendChild(td);
tabla.appendChild(tr);
contador++;
}

function quitar(){
var tabla=document.getElementById("tabla").getElementsByTagName("tbody")[0];
var ultima_fila=tabla.rows.length-1;
    if(ultima_fila>0){
    tabla.removeChild(tabla.getElementsByTagName("TR").item(ultima_fila));
    contador--;
    }
}
</script>
Código PHP:
<? if(!isset($generar)){ ?>
<form method="get" action="<?=$PHP_SELF?>">
Inserta el numero de cajas de texto para generar:
<input type="text" name="generar" size="3"> <input type="submit" value="Generar">
</form>
<? ?>


<?
if(isset($_REQUEST['generar'])){
echo 
'<input type="button" value=" + " onClick="agregar();">';
echo 
'<input type="button" value=" - " onClick="quitar();">';

echo 
'<form action="script.php" method="post">
<table border="0" id="tabla">'
;
    for(
$x=1$x<=$_REQUEST['generar']; $x++){
    echo 
'<tr><td>'.$x.'.- <input type="text" name="nombre[]"></td></tr>';   
  }
echo 
'</table>';
echo 
'<input type="submit" value="Guardar"></form>';
}
?>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 17/12/2008, 13:18
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Agregar input solo 10

Usa document.getElementsByTagName('input') para checar cuantos input tienes. Si tienes más diez, envías un menaje de erro y si no, ejecutas la función que crea los inputs.
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 17/12/2008, 15:06
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Agregar input solo 10

gracias buzu pero la verdad es que lo de los inputs era como ejemplo dentro del child tengo varias cosas mas formularios selects puse los inputs para que se entienda la idea mia es que alguien mas entendido que yo en javascript pueda editar la funcion agregar(); para que solo me añada hasta contador 10 por ejemplo saludos :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 17/12/2008, 15:12
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Agregar input solo 10

Hola kaninox

Ya tienes un contador, cuando llegue a 10 desactiva el botón (pon un id al botón de añadir):

Código javascript:
Ver original
  1. contador++;
  2. if(contador==10)
  3.   document.getElementById('idDelBoton').disabled=true;

Haz también algo parecido en la función quitar() para volver a activar el botón.

Saludos,
  #5 (permalink)  
Antiguo 17/12/2008, 17:36
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Agregar input solo 10

eso era lo que buscaba agregue

Código:
contador--;
if(contador<=10)
document.getElementById('masmas').disabled=false;
para que el quitar funcione saludos :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 02:03.