• Domingo 22 de Diciembre de 2024, 15:49

Autor Tema:  Datos De Formularios  (Leído 2046 veces)

alexis17

  • Miembro MUY activo
  • ***
  • Mensajes: 378
    • Ver Perfil
    • http://www.codigobasico.net
Datos De Formularios
« en: Jueves 10 de Enero de 2008, 16:44 »
0
hola buenos dias que tal tenia una consulta

estoy intentando realizar un filtro por este motivo tengo dos combos o lista/menu

en el cual seleciono la primera despues la segunda y presiono el boton consultar

pero cuando presiono el boton consultar los campos se reinician osea los valores por defecto, pero mi idea es que permanescan los dos campos que yo havia selecionado luego de la consulta
 es como los ejemplo de paginas de registros

este es el codigo de la pagina
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>

<p>
  <script type="text/javascript"> function seleccionar() {
alert("Usted selecciono",);
submit();
   }
</script>
 
  <select name="lista" size="1" id="lista" onChange="seleccionar()">
    <option value="1">Seleccione la categoria</option>
    <option value="2">categoria1</option>
    <option value="3">categoria2</option>
    <option value="4">categoria3</option>    
  </select>
</p>
<p>
  <select name="lista2" size="1" id="lista2" >
    <option value="1">Seleccione la sub categoria</option>
    <option value="2">Subcategoria1</option>
    <option value="3">Subcategoria2</option>
    <option value="4">Subcategoria3</option>    
  </select>
   
</p>
<form id="form1" name="form1" method="post" action="">
  <label>
  <input name="campo" type="text"  />
   <input name="boton1" type="submit" id="boton1" value="Consultar" />
  </label>
</form>

</body>
</html>

para ver si alguien tiene alguna idea ya e buscado en la red
Cada dia aprendo algo nuevo

Darky

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Datos De Formularios
« Respuesta #1 en: Sábado 12 de Enero de 2008, 01:10 »
0
Una solucion pero no muy valida es recoger los datos que pasa por los parametros por medio de javascript y asignarselos a los controles nuevamente.. pero no es muy confiable.. en el caso de .Net los controles al cargar la pagina nuevamente guardan los valores..

Te pongo el codigo de como resolverlo con puro html y javascript (si es solo "pintura" html puede aplicar esta solucion.. )..

Código: Text
  1.  
  2. &#60;html&#62;
  3. &#60;head&#62;
  4. &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=iso-8859-1&#34; /&#62;
  5. &#60;title&#62;Untitled Document&#60;/title&#62;
  6.  
  7. &#60;script type=&#34;text/javascript&#34;&#62;
  8.  
  9. function PosicionaCmbs() {
  10.   var sValorCmb1 = DameValorQueryString('lista');
  11.   var sValorCmb2 = DameValorQueryString('lista2');
  12.   var sValorTxt = DameValorQueryString('campo');
  13.  
  14.   lista1 = document.getElementById('lista');
  15.   lista2 = document.getElementById('lista2');  
  16.   txt = document.getElementById('campo');  
  17.  
  18.   if(sValorCmb1!=0) { lista1.selectedIndex =  sValorCmb1-1; }
  19.   if(sValorCmb2!=0) { lista2.selectedIndex =  sValorCmb2-1; }
  20.   if(sValorTxt!=0) { txt.value=  sValorTxt; }
  21. }
  22.  
  23. /************************************
  24. // Obtiene el valor de la variable
  25. // de la URL que se le pida..
  26. ************************************/
  27. function DameValorQueryString(sName){
  28.    var sURL = new String(window.location);
  29.    var iQMark= sURL.lastIndexOf('?');
  30.    var iLensName= sName .length;
  31.    
  32.   //retrieve loc. of sName
  33.   var iStart = sURL.indexOf('?' + sName +'=') //limitation 1  
  34.  
  35.   if (iStart==-1)
  36.         {//not found at start
  37.         iStart = sURL.indexOf('&' + sName +'=')//limitation 1
  38.     if (iStart==-1)
  39.        {//not found at end
  40.         return 0; //not found
  41.        }  
  42.         }
  43.        
  44.     iStart = iStart + + iLensName + 2;
  45.     var iTemp= sURL.indexOf('&',iStart); //next pair start
  46.     if (iTemp ==-1)
  47.     {//EOF
  48.     iTemp=sURL.length;
  49.     }  
  50.  
  51.     return sURL.slice(iStart,iTemp ).replace('#',''); //Se quita este simbolo porque algunas veces se lo agrega al
  52.                                //hacer un vinculo a la misma pagina
  53.     sURL=null;//destroy String  
  54. }
  55. &#60;/script&#62;
  56.  
  57. &#60;/head&#62;
  58.  
  59. &#60;body onload=&#34;PosicionaCmbs();&#34;&#62;
  60.  
  61. &#60;p&#62;
  62.  
  63. &#60;form id=&#34;form1&#34; name=&#34;form1&#34; method=&#34;get&#34; action=&#34;&#34;&#62;
  64.  
  65. &#60;select name=&#34;lista&#34; size=&#34;1&#34; id=&#34;lista&#34; onChange=&#34;seleccionar()&#34;&#62;
  66. &#60;option value=&#34;1&#34;&#62;Seleccione la categoria&#60;/option&#62;
  67. &#60;option value=&#34;2&#34;&#62;categoria1&#60;/option&#62;
  68. &#60;option value=&#34;3&#34;&#62;categoria2&#60;/option&#62;
  69. &#60;option value=&#34;4&#34;&#62;categoria3&#60;/option&#62;
  70. &#60;/select&#62;
  71. &#60;/p&#62;
  72. &#60;p&#62;
  73. &#60;select name=&#34;lista2&#34; size=&#34;1&#34; id=&#34;lista2&#34; &#62;
  74. &#60;option value=&#34;1&#34;&#62;Seleccione la sub categoria&#60;/option&#62;
  75. &#60;option value=&#34;2&#34;&#62;Subcategoria1&#60;/option&#62;
  76. &#60;option value=&#34;3&#34;&#62;Subcategoria2&#60;/option&#62;
  77. &#60;option value=&#34;4&#34;&#62;Subcategoria3&#60;/option&#62;
  78. &#60;/select&#62;
  79.  
  80. &#60;/p&#62;
  81.  
  82. &#60;input name=&#34;campo&#34; type=&#34;text&#34; /&#62;
  83. &#60;input name=&#34;boton1&#34; type=&#34;submit&#34; id=&#34;boton1&#34; value=&#34;Consultar&#34; /&#62;
  84.  
  85.  
  86. &#60;/form&#62;
  87.  
  88. &#60;/body&#62;
  89. &#60;/html&#62;
  90.  
  91.  

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Datos De Formularios
« Respuesta #2 en: Sábado 12 de Enero de 2008, 03:01 »
0
Alexis:

En esta línea:
Código: Text
  1. alert(&#34;Usted selecciono&#34;,);
  2.  
la coma (",") está de mas y por lo tanto da un error de sintaxis.

El código <script> debe colocarse dentro de las etiquetas <head></head>

Los inputs de los cuales querés que se envíen los datos en el momento del submit deben estar dentro del form. Si solamente querés enviar el dato contenido en "campo" entonces estaría bien, de lo contrario, necesitarías mover el código de los select's dentro del form.

No entiendo la función del script "seleccionar" y la función "submit()" dentro de él es incorrecta. Si lo que querés es que provocar el submit del form1, deberías colocar algo como esto:
Código: Text
  1. formulario=document.getElementById(&#34;form1&#34;);
  2. formulario.submit();
  3.  

El script se ejecuta únicamente cuando la selección del primer select cambia ¿Eso es lo que querés hacer?

El form no tiene action=""

En cuanto a evitar la recarga de los input's te recomiendo que utilices AJAX.
No puedo decirte mas porque como verás, no entiendo nada de lo que estás haciendo.

Aclarate un poco

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.