• Lunes 29 de Abril de 2024, 05:37

Autor Tema:  Problema Con Matriz Html Con Php Y Javascript  (Leído 3416 veces)

cluster

  • Miembro MUY activo
  • ***
  • Mensajes: 196
    • Ver Perfil
Problema Con Matriz Html Con Php Y Javascript
« en: Martes 9 de Octubre de 2007, 16:09 »
0
hola compañeros de solocodigo tengo un problemita con un codigo, el problema es que defino varias listas desplegables en html con el mismo nombre para que se forme un matriz de esta forma:

<select size="1" name="qu[]">
<option></option>
<option   value="1">1</option>
<option   value="2">2</option>
<option   value="3">3</option>
<option   value="4">4</option>
<option   value="5">5</option>

<select size="1" name="qu[]">
<option></option>
<option   value="1">1</option>
<option   value="2">2</option>
<option   value="3">3</option>
<option   value="4">4</option>
<option   value="5">5</option>

varias veces son 26 listas desplegables que se forman en un matriz qu[] le añado los corchetes [] para que al enviarlo al que procesa los datos en php los pueda interpretar el problema es cuando valido en la pagina atraves de javascritp de esta forma:

function validar(formulario) {
    for (n=0;n<=26;n++){

      if ( formulario.qu[n].value <1 || formulario.qu[n].value > 5) {
          alert("seleccione en la pregunta " + (n+1) + " un valor");
          formulario.qu[n].focus();
          return (false);
         }}
}

no me hace nada pero si le quito los corchetes [] en la declaracion html si me trabaja bien el javascript pero cuando lo envio a php me presenta dificultades.

si algien sabe de que forma hay que declara la matriz para que funcione tanto en php y javascript se lo agradeceria.

by3.

-DriverOp-

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Problema Con Matriz Html Con Php Y Javascript
« Respuesta #1 en: Martes 9 de Octubre de 2007, 21:12 »
0
Ponle id a cada select y usa ese id en la función JavaScript tomado una referencia con getElementById();

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema Con Matriz Html Con Php Y Javascript
« Respuesta #2 en: Martes 9 de Octubre de 2007, 21:47 »
0
puedes usarlo asi por ejemplo:

Código: Text
  1. &#60;form onSubmit='return validar(this)'&#62;
  2. &#60;select size=&#34;1&#34; name=&#34;qu[]&#34;&#62;
  3. &#60;option&#62;&#60;/option&#62;
  4. &#60;option value=&#34;1&#34;&#62;1&#60;/option&#62;
  5. &#60;option value=&#34;2&#34;&#62;2&#60;/option&#62;
  6. &#60;option value=&#34;3&#34;&#62;3&#60;/option&#62;
  7. &#60;option value=&#34;4&#34;&#62;4&#60;/option&#62;
  8. &#60;option value=&#34;5&#34;&#62;5&#60;/option&#62;
  9. &#60;/select&#62;
  10.  
  11. &#60;select size=&#34;1&#34; name=&#34;qu[]&#34;&#62;
  12. &#60;option&#62;&#60;/option&#62;
  13. &#60;option value=&#34;1&#34;&#62;1&#60;/option&#62;
  14. &#60;option value=&#34;2&#34;&#62;2&#60;/option&#62;
  15. &#60;option value=&#34;3&#34;&#62;3&#60;/option&#62;
  16. &#60;option value=&#34;4&#34;&#62;4&#60;/option&#62;
  17. &#60;option value=&#34;5&#34;&#62;5&#60;/option&#62;
  18. &#60;/select&#62;
  19.  
  20. &#60;input type='submit'&#62;
  21. &#60;/form&#62;
  22.  
  23. &#60;script&#62;
  24.   function validar()
  25.   {
  26.  
  27.   qu=document.getElementsByName('qu[]');
  28.  
  29.   for (n=0;n&#60;qu.length;n++)
  30.     {
  31.     if ( qu[n].selectedIndex==0)
  32.         {
  33.           alert(&#34;seleccione en la pregunta &#34; + (n+1) + &#34; un valor&#34;);
  34.           qu[n].focus();
  35.           return false;
  36.         }  
  37.  
  38.     }
  39.     return true;
  40.   }
  41. &#60;/script&#62;
  42.  

y en php lo tomas asi

Segun el metodo de envio del form...

Get
Código: Text
  1. &#036;Listas=&#036;_GET['qu'];
  2.  

Post
Código: Text
  1. &#036;Listas=&#036;_POST['qu'];
  2.  

y te devolveria el arreglo con cada valor seleccionado en cada lista


Concidera usarlo por id como te recomienda -DriverOp- pues es el estandar me parece que la propiedad name quedara en desuso .... (no estoy del todo seguro si encuentro la pagina donde lei eso la coloco :P)

Saludos Espero te sirva
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

cluster

  • Miembro MUY activo
  • ***
  • Mensajes: 196
    • Ver Perfil
Re: Problema Con Matriz Html Con Php Y Javascript
« Respuesta #3 en: Jueves 11 de Octubre de 2007, 03:12 »
0
gracias F_Tanori y -DriverOp- por responder coloque como me lo indicaste el qu=document.getElementsByName('qu[]'); y me funciono bien, en php capturo con
$params = data_submitted(); y $params->qu[0] el data_submitted es una funcion de moodle.
lo que comenta DriverOp sobre ponerle id a cada select como seria en html?

queria preguntarles si han modificado codigo de moodle, es que esto realizando un block y seria de gran ayuda saber si estoy realizando las cosas bien con todo el cuento de la seguridad.
gracias.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema Con Matriz Html Con Php Y Javascript
« Respuesta #4 en: Jueves 11 de Octubre de 2007, 06:53 »
0
Cita de: "cluster"
gracias F_Tanori y -DriverOp- por responder coloque como me lo indicaste el qu=document.getElementsByName('qu[]'); y me funciono bien, en php capturo con
$params = data_submitted(); y $params->qu[0] el data_submitted es una funcion de moodle.
lo que comenta DriverOp sobre ponerle id a cada select como seria en html?

queria preguntarles si han modificado codigo de moodle, es que esto realizando un block y seria de gran ayuda saber si estoy realizando las cosas bien con todo el cuento de la seguridad.
gracias.
a mi nunca me ha tocado modificar moodle incluso se de su existencia ahora que lo mencionas (lo vi otras veces pero no supe que era :P hasta ahora)


Para agregar un id lo haces igual que name

Código: Text
  1. &#60;select size=&#34;1&#34; id=&#34;lista0&#34;&#62;
  2. &#60;option&#62;&#60;/option&#62;
  3. &#60;option value=&#34;1&#34;&#62;1&#60;/option&#62;
  4. &#60;option value=&#34;2&#34;&#62;2&#60;/option&#62;
  5. &#60;option value=&#34;3&#34;&#62;3&#60;/option&#62;
  6. &#60;option value=&#34;4&#34;&#62;4&#60;/option&#62;
  7. &#60;option value=&#34;5&#34;&#62;5&#60;/option&#62;
  8. &#60;/select&#62;
  9.  

y lo tomas con getElementById("lista0") la diferencia con getElementsName es que el id es unico y no puedes crear un arreglo con ids como lo haces ahora con name pero puedes nombrarlos concecutivos aqui una idea

Código: Text
  1.  
  2. for ...
  3. qu=document.getElementById(&#34;lista&#34;+n)
  4. ...
  5.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

cluster

  • Miembro MUY activo
  • ***
  • Mensajes: 196
    • Ver Perfil
Re: Problema Con Matriz Html Con Php Y Javascript
« Respuesta #5 en: Jueves 11 de Octubre de 2007, 18:00 »
0
ok. F_Tanori gracias por la explicación, por el momento lo dejare sin el id.

saludod.