SoloCodigo

Programación Web y Scripting => HTML => Mensaje iniciado por: Eman en Miércoles 8 de Noviembre de 2006, 21:27

Título: Como Saber Que Elementos Tiene Un Form?
Publicado por: Eman en Miércoles 8 de Noviembre de 2006, 21:27
hola a todos, bueno el problema que tengo es que estoy haciendo un pequeño programa en asp para insertar datos en una BD, los datos se obtienen por checbox, es decir puede o no insertar dicho elemento, lo que quiero saber es como puedo hacerle para saber que elementos estan marcados y cuales no, ya que tambien manejo cuadros de texto, un amigo me comento que la form ya tiene un metodo o algo parecido que me cuenta o analiza todos los elementos dentro del form, alguna idea??? gracias por su tiempo
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: ArKaNtOs en Miércoles 8 de Noviembre de 2006, 21:36
acabo de hacer esto espero te de una idea :)
Código: Text
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5. <title>Untitled</title>
  6. <script language="JavaScript" type="text/javascript">
  7. <!--
  8. function valida(){
  9.  alert(document.prueba.caja.checked)
  10. }
  11. //-->
  12. </script>
  13.  
  14. </head>
  15. <body>
  16. <form action="#" name='prueba'>
  17. <input type="checkbox" name='caja'/>
  18. <input type='button' onclick='valida()' value='validar'>
  19. </form>
  20. </body>
  21. </html>
  22.  
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: Eman en Miércoles 8 de Noviembre de 2006, 21:47
a grandioso si me da un buena idea, pero se podria meter un for o algo asi en javascript?, por que son como 20 checkboxes, y luego tengo que pasarle los valores de los checboxes prendidos a una variable de asp para poder hacer el insert, si se te ocurre algo a ti o a algiuen mas seria bueno, pero tu idea me ayudo bastante para empezar a moberle
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: ArKaNtOs en Miércoles 8 de Noviembre de 2006, 22:08
que tal algo asi:
Código: Text
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5. <title>Untitled</title>
  6. <script language="JavaScript" type="text/javascript">
  7. <!--
  8. function valida(){
  9.  x=document.prueba.length;
  10.  var y='';
  11.  for(i=0;i<=x-1;i++){
  12.   if(document.prueba[i].checked==false){
  13.    y = y + i + ","
  14.   }
  15.  }
  16.  alert(y);
  17.  location.href='valida.php?valores=' + y;
  18. }
  19. //-->
  20. </script>
  21.  
  22. </head>
  23. <body>
  24. <form action="#" name='prueba'>
  25. 1<input type="checkbox" name='caja1'/><br/>
  26. 2<input type="checkbox" name='caja2'/><br/>
  27. 3<input type="checkbox" name='caja3'/><br/>
  28. 4<input type="checkbox" name='caja4'/><br/>
  29. 5<input type="checkbox" name='caja5'/><br/>
  30. 6<input type="checkbox" name='caja6'/><br/>
  31. 7<input type="checkbox" name='caja7'/><br/>
  32. 8<input type="checkbox" name='caja8'/><br/>
  33. 9<input type="checkbox" name='caja9'/><br/>
  34. <input type='button' onclick='valida()' value='validar'>
  35. </form>
  36. </body>
  37. </html>
  38.  
el problema es que no se asp pero en php podrias hacer algo mas simple como esto
Código: Text
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5. <title>Untitled</title>
  6. </head>
  7. <body>
  8. <form action="unaprueba.php" name='prueba' method='POST'>
  9. 1<input type="checkbox" name='caja[]'/><br/>
  10. 2<input type="checkbox" name='caja[]'/><br/>
  11. 3<input type="checkbox" name='caja[]'/><br/>
  12. 4<input type="checkbox" name='caja[]'/><br/>
  13. 5<input type="checkbox" name='caja[]'/><br/>
  14. 6<input type="checkbox" name='caja[]'/><br/>
  15. 7<input type="checkbox" name='caja[]'/><br/>
  16. 8<input type="checkbox" name='caja[]'/><br/>
  17. 9<input type="checkbox" name='caja[]'/><br/>
  18. <input type='submit' value='validar'>
  19. </form>
  20. <?php
  21. if(isset($_POST['caja'])){
  22.  $x = $_POST['caja'];
  23.  $i = 0;
  24.  $n = count($x);
  25.  while ($i < $n){
  26.   echo $x[$i], "<br>";
  27.   $i++;
  28.  }
  29. }
  30. ?>
  31. </body>
  32. </html>
  33.  
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: Eman en Miércoles 8 de Noviembre de 2006, 22:42
me as dado muchas ideas muchas gracias, pero yo tampoco se mucho de php jeje, por lo que entiendo en php checas que lo que te manden de html no venga vacio?? luego lo metes en una variable x? y en el while imprimes el numero de la caja ?? muchas gracias de ante mano ya espero poder lograr algo a partir de esto

por ultimo me puedes explicar que hace esto?

Código: Text
  1.  location.href='valida.php?valores=' + y;
  2.  
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: Eman en Miércoles 8 de Noviembre de 2006, 23:24
olle me tope con un pequeño problema, como tengo el codigo de asp en el head cuando ago la prueba para saber la longitud (length) me sale undefined mira el codigo es algo asi

Código: Text
  1.  
  2. </head>
  3. <script type="text/javascript">
  4. function valida()
  5. {
  6. x=document.llena.legnth;
  7.  
  8. alert(x);
  9. </script>
  10. <%
  11.    
  12. response.write("<form name='llena'>")
  13.  
  14.      
  15. response.write("Habitacion con cortinas<input type='checkbox' name='hab_cortina'><br>")
  16.  
  17. response.write("Habitacion con tocador<input type='checkbox' name='hab_tocador'><br>")  
  18.      
  19. response.write("Habitacion con escritorio<input type='checkbox' name='hab_escritorio'><br>")    
  20. response.write("Habitacion con telefono<input type='checkbox' name='hab_tel'><br>")
  21. response.write("Probar<input type='button' onclick='valida()' value='probar'>")
  22. responser.write("</form>")
  23.  
  24.  

EDITok ya solucione eso, solo pase el asp al body jejeje, a seguir probando
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: ArKaNtOs en Miércoles 8 de Noviembre de 2006, 23:31
tu error esta aca x=document.llena.legnth; , porque legnth no es un elemento de llena

es: x=document.llena.length;
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: Eman en Jueves 9 de Noviembre de 2006, 01:19
olle y cuando los valores de las variables de javascript como los separo ??
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: ArKaNtOs en Jueves 9 de Noviembre de 2006, 01:34
pues en php existe una función llamada explode que sirve para separar una cadena por tokens o items en base a un caracter, por ejemplo:
$x='1,2,3,4,5,6';
$y=explode(',',$x);
echo $y[0] /*esto te devolvera 1 osea que genera un array de los elementos que han sido separados*/

creo que similar a explode en PHP es split en ASP
que funciona asi
dim variable
x="1,2,3,4,5,6"
y = split(x,',');

espero te sirva
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: Mollense en Jueves 9 de Noviembre de 2006, 05:19
Cita de: "Eman"
por ultimo me puedes explicar que hace esto?

Código: Text
  1.  location.href='valida.php?valores=' + y;
  2.  
Hola amigo.

Al modificar el valor de location.href estás direccionando a la página "valida.php" pasando "valores=" + y como argumentos en la misma cadena de la URL.

Saludos
Título: Re: Como Saber Que Elementos Tiene Un Form?
Publicado por: ArKaNtOs en Jueves 9 de Noviembre de 2006, 05:30
a mira no habia visto que habia modificado su mensaje :P bueno lo que eso hace es como dice angel_k_ido, redireccionar la pagina a un sitio de validacion(supongamos) y le envias de parametro una variable get que va a contener las cajas que no fueron chekadas :)