Foros del Web » Programando para Internet » Javascript »

Variables no pasan en etiqueta form

Estas en el tema de Variables no pasan en etiqueta form en el foro de Javascript en Foros del Web. Buenas tardes Chicos me colaboran con un problema que tengo por favor, le he dado vueltas de una y otra forma pero no me funciona. ...

  #1 (permalink)  
Antiguo 08/07/2012, 19:32
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Variables no pasan en etiqueta form

Buenas tardes

Chicos me colaboran con un problema que tengo por favor, le he dado vueltas de una y otra forma pero no me funciona.

Cuando utilizo la etiqueta body para ejecutar una funcion y pasar unas variables a un script (filtroconsulta.php), las variables me pasan perfectamente y la funcion me devuelve el valor esperado.

<?
$categoria = "todos";
$orden = "mes";
?>

<body onload="MostrarConsulta('filtroconsulta.php?slctd1 =<?php echo $categoria; ?>&&slctd2=<?php echo $orden; ?>');">

Pero cuando hago lo mismo en una etiqueta form no me funciona, no logro que pasen las variables al otro lado, ni con GET ni con POST.


<form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">
<div class="filtro1">Categoria: <select name="categoria">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<div class="filtro2">Informacion: <select name="orden">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<input type="hidden" name="categoria" id="categoria" value="todos" />
<input type="hidden" name="orden" id="orden" value="mayor" />

<input type="submit" value=" Aplicar Filtro ">
</form>

1. Se supone que las variables que estan un form pasa por GET o Post al otro script, pero no pasan.

2. He colocado las variables igual que la etiqueta body y no pasan al script filtroconsulta.php.

3. Lo he intentado como campos HIDDEN y tampoco pasan al siguiente script.

Gracias por su tiempo

Isabel
  #2 (permalink)  
Antiguo 08/07/2012, 19:59
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Para que haces 2 veces lo mismo? el formulario con metodo get envia las variables por url.
No presisas una función que las envie.

Código HTML:
Ver original
  1. <form method="get" name="frm" action="TEFALTAPONERELARCHIVO.PHP">
  2. <div class="filtro1">Categoria: <select name="categoria">
  3. <option value="opcion1">opcion1
  4. <option value="opcion2">opcion2
  5. <option value="opcion3" selected>opcion3
  6. </select></div>
  7.  
  8. <div class="filtro2">Informacion: <select name="orden">
  9. <option value="opcion1">opcion1
  10. <option value="opcion2">opcion2
  11. <option value="opcion3" selected>opcion3
  12. </select></div>
  13.  
  14. <input type="hidden" name="categoria" id="categoria" value="todos" />
  15. <input type="hidden" name="orden" id="orden" value="mayor" />
  16.  
  17. <input type="submit" value=" Aplicar Filtro ">
  18. </form>
  #3 (permalink)  
Antiguo 08/07/2012, 20:01
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Lo mejor para enviar variables y cualquier tipo de dato a un scripy php es usando AJAX mediante peticiones ya sean POST o GET.
  #4 (permalink)  
Antiguo 08/07/2012, 22:29
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
Para que haces 2 veces lo mismo? el formulario con metodo get envia las variables por url.
No presisas una función que las envie.

Código HTML:
Ver original
  1. <form method="get" name="frm" action="TEFALTAPONERELARCHIVO.PHP">
  2. <div class="filtro1">Categoria: <select name="categoria">
  3. <option value="opcion1">opcion1
  4. <option value="opcion2">opcion2
  5. <option value="opcion3" selected>opcion3
  6. </select></div>
  7.  
  8. <div class="filtro2">Informacion: <select name="orden">
  9. <option value="opcion1">opcion1
  10. <option value="opcion2">opcion2
  11. <option value="opcion3" selected>opcion3
  12. </select></div>
  13.  
  14. <input type="hidden" name="categoria" id="categoria" value="todos" />
  15. <input type="hidden" name="orden" id="orden" value="mayor" />
  16.  
  17. <input type="submit" value=" Aplicar Filtro ">
  18. </form>
rodrigo791, gracias por tu tiempo.

La idea es que al ejecutar el formulario, se ejecute el evento onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false"> para que las variables pasen al script.

No lo coloco en el action de la etiqueta form como me lo sugieres por que no me ejecutaria la funcion de ajax(MostrarConsulta). La funcion me actualiza un div sin recargar la pagina.

No estoy utilizando dos veces lo mismo, lo que estoy mostrando en el ejemplo son las dos formas con las que estoy tratando de enviar las variables al script de php, obviamente no voy a utilizar los dos simplemente estoy mostrando las dos opciones con HIDDEN o con el evento ONSUBMIT..

Gracias por tu tiempo

Isabel.
  #5 (permalink)  
Antiguo 08/07/2012, 22:34
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Estaria bueno que muestres el código de MostarConsulta para ver que estas haciendo mal
Y filtroconsulta.php tambien postealo
  #6 (permalink)  
Antiguo 08/07/2012, 22:41
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Una cosa,
Código PHP:
Ver original
  1. onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">
$_GET es para cuando te llegan datos por url, o sea por get, a vos no te esta llegando nada, por eso no envia nada.

Si vos abris este archivo por primera vez
Código PHP:
Ver original
  1. <form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">
  2. <div class="filtro1">Categoria: <select name="categoria">
  3. <option value="opcion1">opcion1
  4. <option value="opcion2">opcion2
  5. <option value="opcion3" selected>opcion3
  6. </select></div>
  7.  
  8. <div class="filtro2">Informacion: <select name="orden">
  9. <option value="opcion1">opcion1
  10. <option value="opcion2">opcion2
  11. <option value="opcion3" selected>opcion3
  12. </select></div>
  13.  
  14. <input type="hidden" name="categoria" id="categoria" value="todos" />
  15. <input type="hidden" name="orden" id="orden" value="mayor" />
  16.  
  17. <input type="submit" value=" Aplicar Filtro ">
  18. </form>
nunca vas a mandar nada, si a vos no te llega nada por get, $_GET es para obtener lo que te llegue por GET, cuando decis : <?php echo $_GET['orden']; ?> estas haciendo referencia a una variable llamada orden que te llega a ese archivo por la url, y si vos no se la mandas primero entonces nunca vas a tenerla.
  #7 (permalink)  
Antiguo 08/07/2012, 22:45
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Creo que lo que queres con <?php echo $_GET['orden']; ?> es capturar el valor de <input type="hidden" name="orden" id="orden" value="mayor" /> eso.

Y para acceder a las propiedades de un elemento html tenes que usar el DOM de javascript, podes usar document.getElementById('orden').value; para acceder al valor del campo oculto con el id 'orden'
  #8 (permalink)  
Antiguo 08/07/2012, 22:48
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Lo que podes hacer en esa funcion MostrarConsulta es poner algo como:

var orden = document.getElementById('orden').value;
var categoria = document.getElementById('categoria').value;
document.location.href = filtroconsulta.php?categoriaHIDDEN=categoria&orden HIDDEN=orden);

con eso tomas el valor de los 2 campos ocultos y luego redireccionas hacia el php enviando las variables por get
  #9 (permalink)  
Antiguo 09/07/2012, 08:07
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
Lo mejor para enviar variables y cualquier tipo de dato a un scripy php es usando AJAX mediante peticiones ya sean POST o GET.
Sólo aclarar que este postulado es incorrecto ya que es lo mismo que afirmar que es mejor que los websites no funcionen con javascript desactivado.
  #10 (permalink)  
Antiguo 09/07/2012, 11:35
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por Panino5001 Ver Mensaje
Sólo aclarar que este postulado es incorrecto ya que es lo mismo que afirmar que es mejor que los websites no funcionen con javascript desactivado.
No llegue a entender mucho lo que quizo decir, se que javascript se puede desactivar, pero si te pones a pensar en eso siempre entonces olvidate de la gran mayoria de las aplicaciones web hechas del lado cliente y ni te preocupes en aplicar técnicas de ajax, jquery etc

A demas, quien se va a poner a desactivar javascript? es obvio que una persona con conocimientos altos desactiva javascript y no un usuario común como son la mayoría.

El tema de la desactivación de javascript solo lo tomaría en serio para las validaciones, hacerlas en cliente, y por las dudas en servidor también por si se desactiva como decis vos.
  #11 (permalink)  
Antiguo 09/07/2012, 13:01
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

rodrigo791, gracias por tu tiempo.

Lo que yo quiero hacer con esta linea onsubmit="MostrarConsulta('filtroconsulta.php?slct d1=<?php echo $_GET['categoria']; ?>&&slctd2=<?php echo $_GET['orden']; ?>'); return false">

es capturar las opciones de <select name="categoria"> y <select name="orden">
y enviarlas a un filtroconsulta.php, pense que se podia hacer asi, por que todo lo que esta en un form pasa a otro script.

Como la primera opcion (slctd2=<?php echo $_GET['orden']; ?>) no me funciono lo que se me ocurrio fue pasar las variables a traves de campos HIDDEN, tampoco me funciona.

La funcion MostrarConsulta es la siguiente:

function MostrarConsulta(datos){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');

ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
var ccc = abc.split("///");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}

En resumen lo que quiero hacer es pasar los valores de <select name="categoria"> y <select name="orden"> que estan en la etiqueta form a filtroconsulta.php a traves de MostrarConsulta.

La funcion MostrarConsulta la modifique asi pero no me pasa los valores a filtroconsulta.php:

function MostrarConsulta(datos){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');

var categoria = document.getElementById("categoria").value;
var orden = document.getElementById("orden").value;

ajax=objetoAjax();
ajax.open("GET","filtroconsulta.php?categoria="+ca tegoria+"&orden="+orden,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
var ccc = abc.split("///");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}

Gracias

Isabel
  #12 (permalink)  
Antiguo 09/07/2012, 13:13
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
.........

A demas, quien se va a poner a desactivar javascript? es obvio que una persona con conocimientos altos desactiva javascript y no un usuario común como son la mayoría.
yo, una usuaria común navego con javascript desactivado. no es nada infrecuente
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #13 (permalink)  
Antiguo 09/07/2012, 13:35
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Variables no pasan en etiqueta form

IsaBelM, no creo para nada que tú seas una usuaria común.
  #14 (permalink)  
Antiguo 09/07/2012, 14:00
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por ocp001a Ver Mensaje
IsaBelM, no creo para nada que tú seas una usuaria común.
es algo mutuo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #15 (permalink)  
Antiguo 09/07/2012, 17:10
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
No llegue a entender mucho lo que quizo decir, se que javascript se puede desactivar, pero si te pones a pensar en eso siempre entonces olvidate de la gran mayoria de las aplicaciones web hechas del lado cliente y ni te preocupes en aplicar técnicas de ajax, jquery etc

A demas, quien se va a poner a desactivar javascript? es obvio que una persona con conocimientos altos desactiva javascript y no un usuario común como son la mayoría.

El tema de la desactivación de javascript solo lo tomaría en serio para las validaciones, hacerlas en cliente, y por las dudas en servidor también por si se desactiva como decis vos.
Nada de eso cambia el hecho de que lo que dijiste fue una burrada.
  #16 (permalink)  
Antiguo 09/07/2012, 18:06
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por Panino5001 Ver Mensaje
Nada de eso cambia el hecho de que lo que dijiste fue una burrada.
Jaja, tal vez dice eso porque tengo razón.
Es una "burrada" con sentido la mía
  #17 (permalink)  
Antiguo 09/07/2012, 18:30
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Buenas tardes

Chicos no pelen ayudenme mas bien por favor, no he podido

En resumen lo que quiero hacer es pasar los valores de <select name="categoria"> y <select name="orden"> que estan en la etiqueta form a filtroconsulta.php a traves de MostrarConsulta.

La funcion MostrarConsulta es la siguiente:

function MostrarConsulta(datos){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');

ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
var ccc = abc.split("///");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}

El script que llama el filtroconsulta.php es el siguiente:

<form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php'); return false">
<div class="filtro1">Categoria: <select name="categoria">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<div class="filtro2">Informacion: <select name="orden">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<input type="submit" value=" Aplicar Filtro ">
</form>

Gracias

Isabel

Última edición por isabelramirezmontoya; 09/07/2012 a las 18:36
  #18 (permalink)  
Antiguo 09/07/2012, 19:43
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

No estamos peleando jaja solo discutiendo algunas cosas ( no se enoje Sr.Panino ) pero de buena forma
El problema es que nunca creas el objeto XmlHttpRequest.
Haces esto: ajax=objetoAjax()
pero objetoAjax de donde sale? no lo tenes en ninguna función que te retorne eso.
  #19 (permalink)  
Antiguo 09/07/2012, 20:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
No estamos peleando jaja solo discutiendo algunas cosas ( no se enoje Sr.Panino ) pero de buena forma
El problema es que nunca creas el objeto XmlHttpRequest.
Haces esto: ajax=objetoAjax()
pero objetoAjax de donde sale? no lo tenes en ninguna función que te retorne eso.
rodrigo791, Si lo tengo lo que pasa es que no lo coloque para no estenderme mucho en la nota, lo tengo en el mismo archivo en el que tengo la funcion MostrarConsulta.

function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

Gracias

Isabel
  #20 (permalink)  
Antiguo 10/07/2012, 17:52
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por isabelramirezmontoya Ver Mensaje
Buenas tardes

Chicos no pelen ayudenme mas bien por favor, no he podido

En resumen lo que quiero hacer es pasar los valores de <select name="categoria"> y <select name="orden"> que estan en la etiqueta form a filtroconsulta.php a traves de MostrarConsulta.

La funcion MostrarConsulta es la siguiente:

function MostrarConsulta(datos){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');

ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
var ccc = abc.split("///");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}

El script que llama el filtroconsulta.php es el siguiente:

<form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php'); return false">
<div class="filtro1">Categoria: <select name="categoria">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<div class="filtro2">Informacion: <select name="orden">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<input type="submit" value=" Aplicar Filtro ">
</form>

Gracias

Isabel

Estuve buscando como modificar mi funcion para pasar los valores de los select, lo modifique de la siguiente forma pero no me funciono.

function MostrarConsulta(){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');

var t1 = document.getElementById("categoria").value;
var t2 = document.getElementById("orden").value;

ajax=objetoAjax();
ajax.open("GET", "filtroconsulta.php?t1="+t1+"&t2="+t2,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
var ccc = abc.split("///");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}

Que estoy haciendo mal?, Que me falta?, No logro pasar las variables.

Isabel.
  #21 (permalink)  
Antiguo 10/07/2012, 18:56
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

se supone que lo que le mandas al script php es algo como:
t1=opcion1&t2=opcion2

var ccc = abc.split("///"); que hace eso?

Mostra el código a parte usando Highlight de filtroconsulta.php

Última edición por rodrigo791; 10/07/2012 a las 19:11
  #22 (permalink)  
Antiguo 10/07/2012, 19:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
se supone que lo que le mandas al script php es algo como:
t1=opcion1&t2=opcion2

var ccc = abc.split("///"); que hace eso?

Mostra el código a parte usando Highlight de filtroconsulta.php
Te explico:

El proposito de la funcion Mostrardatos es actualizar dos (2) div en mi pagina principal sin recargar la pagina.

var ccc = abc.split("///"); que hace eso? Esta linea contiene la respuesta para los dos () div que necesito en mipagina principal sin recargar la pagina, me actualiza la pagina perfectamente, por que lo hago al cargar la pagina con

<?

$categoria = "todos";
$orden = "todos";
?>

<body onload="MostrarConsulta('filtroconsulta.php?slctd1 =<?php echo $categoria; ?>&&slctd2=<?php echo $orden; ?>');">
.

Lo que yo quiero es recargar la pagina pasando el valor de <select name="categoria"> y de <select name="orden"> que estan en el form a filtroconsulta.php

<form method="get" name="frm" action="" onsubmit="MostrarConsulta('filtroconsulta.php'); return false">
<div class="filtro1">Categoria: <select name="categoria">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<div class="filtro2">Informacion: <select name="orden">
<option value="opcion1">opcion1
<option value="opcion2">opcion2
<option value="opcion3" selected>opcion3
</select></div>

<input type="submit" value=" Aplicar Filtro ">
</form>

No se si fui clara en mi explicacion

Isabel.
  #23 (permalink)  
Antiguo 10/07/2012, 20:45
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

Tenes un entrevero de código impresionante que no sabes ni lo que estas haciendo.
Trata de usar Highlight para mostrar tu codigo es bastante molesto tener que leerlo sin él, solo tenes que elegir el lenguaje en el select que dice "Highlight"
1 - decidite de una vez, LLAMAS A LA FUNCIÓN EN ONLOAD O CON EL BOTON?
supongamos que lo haces con el boton.No se para que le pasas como parametro el archivo php a la función si ya ella lo tiene dentro, en fin...


Código HTML:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function objetoAjax(){
  4. var xmlhttp=false;
  5. try {
  6. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7. } catch (e) {
  8. try {
  9. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  10. } catch (E) {
  11. xmlhttp = false;
  12. }
  13. }
  14.  
  15. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  16. xmlhttp = new XMLHttpRequest();
  17. }
  18. return xmlhttp;
  19. }
  20.  
  21.  
  22.  
  23. function MostrarConsulta(){
  24.  
  25. var divResultado = document.getElementById('resultadoDeLaRespuesta');
  26.  
  27. var t1 = document.getElementById("categoria").value;
  28.  
  29. var t2 = document.getElementById("orden").value;
  30.  
  31. ajax=objetoAjax();
  32. ajax.open("GET", "filtroconsulta.php?t1="+t1+"&t2="+t2,true);
  33. ajax.onreadystatechange=function() {
  34. if (ajax.readyState==4) {
  35. var abc = ajax.responseText;
  36. divResultado1.innerHTML = abc;
  37.  
  38. }
  39. }
  40. ajax.send(null)
  41. }
  42.  
  43. </head>
  44. <form method="get" name="frm" action="" onsubmit="MostrarConsulta();">
  45. <div class="filtro1">Categoria: <select name="categoria" id="categoria">
  46. <option value="opcion1">opcion1
  47. <option value="opcion2">opcion2
  48. <option value="opcion3" selected>opcion3
  49. </div>
  50.  
  51. <div class="filtro2">Informacion: <select name="orden" id="orden">
  52. <option value="opcion1">opcion1
  53. <option value="opcion2">opcion2
  54. <option value="opcion3" selected>opcion3
  55. </div>
  56. <input type="submit" value="Aplicar Filtro">
  57. </form>
  58.  
  59. <div id="resultadoDeLaRespuesta"></div>
  60. </body>

tu php:
Código PHP:
Ver original
  1. <?
  2. $categoria = $_GET['t1'];
  3. $orden = $_GET['t2'];
  4.  
  5. echo $categoria;
  6. echo "<br />";
  7. echo $orden;
  8. ?>

A ver como te va con eso

Última edición por rodrigo791; 10/07/2012 a las 21:02
  #24 (permalink)  
Antiguo 10/07/2012, 22:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
Tenes un entrevero de código impresionante que no sabes ni lo que estas haciendo.
Trata de usar Highlight para mostrar tu codigo es bastante molesto tener que leerlo sin él, solo tenes que elegir el lenguaje en el select que dice "Highlight"
1 - decidite de una vez, LLAMAS A LA FUNCIÓN EN ONLOAD O CON EL BOTON?
supongamos que lo haces con el boton.No se para que le pasas como parametro el archivo php a la función si ya ella lo tiene dentro, en fin...


Código HTML:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function objetoAjax(){
  4. var xmlhttp=false;
  5. try {
  6. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7. } catch (e) {
  8. try {
  9. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  10. } catch (E) {
  11. xmlhttp = false;
  12. }
  13. }
  14.  
  15. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  16. xmlhttp = new XMLHttpRequest();
  17. }
  18. return xmlhttp;
  19. }
  20.  
  21.  
  22.  
  23. function MostrarConsulta(){
  24.  
  25. var divResultado = document.getElementById('resultadoDeLaRespuesta');
  26.  
  27. var t1 = document.getElementById("categoria").value;
  28.  
  29. var t2 = document.getElementById("orden").value;
  30.  
  31. ajax=objetoAjax();
  32. ajax.open("GET", "filtroconsulta.php?t1="+t1+"&t2="+t2,true);
  33. ajax.onreadystatechange=function() {
  34. if (ajax.readyState==4) {
  35. var abc = ajax.responseText;
  36. divResultado1.innerHTML = abc;
  37.  
  38. }
  39. }
  40. ajax.send(null)
  41. }
  42.  
  43. </head>
  44. <form method="get" name="frm" action="" onsubmit="MostrarConsulta();">
  45. <div class="filtro1">Categoria: <select name="categoria" id="categoria">
  46. <option value="opcion1">opcion1
  47. <option value="opcion2">opcion2
  48. <option value="opcion3" selected>opcion3
  49. </div>
  50.  
  51. <div class="filtro2">Informacion: <select name="orden" id="orden">
  52. <option value="opcion1">opcion1
  53. <option value="opcion2">opcion2
  54. <option value="opcion3" selected>opcion3
  55. </div>
  56. <input type="submit" value="Aplicar Filtro">
  57. </form>
  58.  
  59. <div id="resultadoDeLaRespuesta"></div>
  60. </body>

tu php:
Código PHP:
Ver original
  1. <?
  2. $categoria = $_GET['t1'];
  3. $orden = $_GET['t2'];
  4.  
  5. echo $categoria;
  6. echo "<br />";
  7. echo $orden;
  8. ?>

A ver como te va con eso
rodrigo791, gracias por tu tiempo y paciencia

Que pena contigo, la verdad soy nueva en esto y apenas estoy aprendiendo .

El ejemplo que me colocaste lo copie tal cual lo colocaste en el ejemplo, pero cuando lo ejecuto noto en la URL las variables si pasan, pero en el php que me colocaste

Código PHP:
Ver original
  1. <?
  2. $categoria = $_GET['t1'];
  3. $orden = $_GET['t2'];
  4.  
  5. echo $categoria;
  6. echo "<br />";
  7. echo $orden;
  8. ?>

no me muestra nada



Isabel
  #25 (permalink)  
Antiguo 10/07/2012, 22:46
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Variables no pasan en etiqueta form

@rodrigo791

Estás más orientado, pero sigue estando mal, primero un pequeño error de tipeo supongo, usas
divResultado como variable y le haces un innerHTML a divResultado1

otro detalle, ubicá correctamente el tag body, y ahora si, conceptualmente, si vas a usar Ajax, olvidate del submit y del evento onsubmit(), a menos que hagas algo así

Código HTML:
Ver original
  1. <form method="get" name="frm" action="#" onsubmit="return MostrarConsulta();" id="frm">

y al final de la función

ajax.send(null);
return false;
}
pero es completamente innecesario. Si no lo que se procesa es la misma página html. muy distinto si fuese una validación para prevenir el envío de existir errores. Que no es el caso. Siempre es conveniente esto:

Código HTML:
Ver original
  1. <input type="button" value="Aplicar Filtro" onclick="MostrarConsulta('filtroconsulta.php');"/>

Y si, es cierto, es redundante pasar la url, en una script tan personalizada como esta.
Además, aunque parezca un detalle menor, si vas a desarrollar todo el código, corregi el html (Doctype válido, cierres de etiquetas correctos, entrecomillado de atributos, etc)
Finalmente una sugerencia, nunca en tus ejemplos de php uses short tags, puede que esten deshabilitados en el servidor del otro usuario y se generen inconvenientes,
con
<?php
?>

te segurás el correcto funcionamiento.

Ahora vamos con
@isabelramirezmontoya
Ya nos cruzamos en varios posts, y siempre girando sobre el mismo tema, te dí la respuesta y te dejé ejemplos funcionales. Te aclaré que esto, si se quiere entender (y no simplemente conseguir un código que funcione), requiere estudio, y los que has hecho hasta ahora (se nota el esfuerzo, por eso te estoy contestando) demuestra que estás usando la "intuición" y no la "cabeza".
Por favor analizá los ejemplos y estudía los tutoriales (librosweb.es es un excelenete punto de partida)
Bueno, basándome en tu código, aunque yo haría cosas diferentes, te dejo esto
filtrar.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9.  
  10. function objetoAjax(){
  11. var xmlhttp=false;
  12. try {
  13. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  14. } catch (e) {
  15. try {
  16. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  17. } catch (E) {
  18. xmlhttp = false;
  19. }
  20. }
  21.  
  22. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  23. xmlhttp = new XMLHttpRequest();
  24. }
  25. return xmlhttp;
  26. }
  27.  
  28.  
  29. function MostrarConsulta(url){
  30. var divResultado1 = document.getElementById('resultado1');
  31. var divResultado2 = document.getElementById('resultado2');
  32. var cat = document.getElementById('categoria').value;
  33. var ord = document.getElementById('orden').value;
  34. // contruís la variable datos con la url + la categoria + el orden como parámetros
  35. var datos = url + '?categoria=' + cat + '&orden=' + ord;
  36. alert(datos);
  37. ajax=objetoAjax();
  38. ajax.open("GET", datos);
  39. ajax.onreadystatechange=function() {
  40. if (ajax.readyState==4) {
  41. var abc = ajax.responseText;
  42. alert(abc);
  43. var ccc = abc.split("|");
  44. divResultado1.innerHTML = ccc[0];
  45. divResultado2.innerHTML = ccc[1];
  46. }
  47. }
  48. ajax.send(null)
  49. }
  50.  
  51. //]]>
  52. </head>
  53.  
  54. <form action="#" method="get">
  55.  <div class="filtro1">
  56.  Categoria: <select id="categoria">
  57.  <option value="opcion1">opcion1</option>
  58.  <option value="opcion2">opcion2</option>
  59.  <option value="opcion3" selected="selected">opcion3</option>
  60.  </select>
  61.  </div>
  62.  
  63. <div class="filtro2">
  64. Informacion: <select id="orden">
  65. <option value="opcion1">opcion1</option>
  66. <option value="opcion2">opcion2</option>
  67. <option value="opcion3" selected="selected">opcion3</option>
  68. </div>
  69.  
  70. <input type="button" value="Aplicar Filtro" onclick="MostrarConsulta('filtroconsulta.php');"/>
  71. </form>
  72.  
  73. <p>resultado 1</p>
  74. <div id="resultado1"></div>
  75. <p>resultado 2</p>
  76. <div id="resultado2"></div>
  77. </body>
  78. </html>

filtroconsulta.php

Código PHP:
Ver original
  1. <?php
  2. $categoria = $_GET['categoria'];
  3. $orden = $_GET['orden'];
  4.  
  5.  
  6. if($orden == 'opcion1'){
  7. echo "uno|";
  8. }
  9. if($orden == 'opcion2'){
  10. echo "dos|";
  11. }
  12. if($orden == 'opcion3'){
  13. echo "tres|";
  14. }
  15.  
  16. if($categoria == 'opcion1'){
  17. echo "manzanas";
  18. }
  19.  
  20. if($categoria == 'opcion2'){
  21. echo "naranjas";
  22. }
  23.  
  24. if($categoria == 'opcion3'){
  25. echo "peras";
  26. }
  27.  
  28. ?>


Un bocadillo final, referido a lo discutido en los primeros posts, y esto por supuesto, en mi caso personal.

Si en una Web/Aplicación Web, utilizo javascript, es por que se requiere, no por mero capricho, y si el usuario no tiene habilitado javascript, le advierto y lo redirijo a otra parte. Si le disgusta, es libre de no regresar a dicha página

Saludos
Edición:
@isabelramirezmontoya
la script que dejé contiene unos alert sólo para que verifiques, deben ser removidos o comentados para su uso final
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 11/07/2012 a las 00:15
  #26 (permalink)  
Antiguo 10/07/2012, 23:30
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Variables no pasan en etiqueta form

@emprear gracias por los consejos, es que tipie rapido y no me fije ni la apertura de etiquetas ni lo del div

@isabel...
pena no, jaja solo quiero ayudar, no me enoje por nada por las dudas

Última edición por rodrigo791; 10/07/2012 a las 23:35
  #27 (permalink)  
Antiguo 11/07/2012, 05:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
@isabel...
pena no, jaja solo quiero ayudar, no me enoje por nada por las dudas
en eso estamos todos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #28 (permalink)  
Antiguo 11/07/2012, 09:11
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por rodrigo791 Ver Mensaje
Jaja, tal vez dice eso porque tengo razón.
Es una "burrada" con sentido la mía
Igual hay que aclarar que ese comentario lo estás haciendo en broma. Alguien puede no tener tu sentido del humor y pensar que sigues defendiendo tu burrada a pesar del guiño.


Y hablando de burradas ... vas a tener que aprender a postear en los foros. No puede ser que encontremos mensajes tuyos seguidos en fila con diferencia de minutos. O editas o te tomas tu tiempo para pensar antes de dar el último click.

Y hablando de tomarte tu tiempo ... revisa un poco lo que respondes. Alguna vez hasta tuve que poner un ejemplo que no debía para salvar una "recomendación" tuya que parecía más unas ganas de complicarle la vida a un novato. (No sé si dijo la verdad o mintió, pero le tuve que creer que se leyó todo tu tutorial, que claramente para su cuestión no le iba a alcanzar)

Aquí parece que te están dando buenos consejos. Yo no tengo tanta paciencia. (Ni debo tenerla.) Trata de aprovecharlos.



Y hablando de paciencias ... no saben como me las rompen ver que en el foro de javascript terminan poniendo código de cualquier cosa que ni es programación local. Paro supongo que éste es un caso especial. Que ni sé si debería resolverse en un foro.

Por último, y los dejo seguir discutiendo

isabelramirezmontoya : ¿cuando dijiste que "El ejemplo que me colocaste lo copie tal cual lo colocaste en el ejemplo", corregiste antes esos errores de tipeo?.


P.D. : "El ejemplo que me colocaste lo copie tal cual lo colocaste en el ejemplo" Mmmm. Lindo quiasmo.
  #29 (permalink)  
Antiguo 11/07/2012, 09:24
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Variables no pasan en etiqueta form

Cita:
Iniciado por furoya Ver Mensaje
Y hablando de paciencias ... no saben como me las rompen ver que en el foro de javascript terminan poniendo código de cualquier cosa que ni es programación local. Paro supongo que éste es un caso especial. Que ni sé si debería resolverse en un foro.
@furoya, mirá que generalmente andamos en la misma frecuencia, pero ahi no te capto, como que me cambiaste a UHF, ¿a que te referís con lo dicho?
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #30 (permalink)  
Antiguo 11/07/2012, 09:42
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Variables no pasan en etiqueta form

Estaba leyendo AJAX, PHP.
CSS y HTML no me molestan tanto, javascript los modifica y los lee, es programación del lado cliente.

Lo otro; la duda original no es puntual de ninguna manera. Esto es un desarrollo. O lo hubiera resuelto hace mucho.

¿Servirá toda esta parrafada para aprender algo? ¿O le servirá —si al final da pie con bola— a isabelramirezmontoya sólo para terminar su proyecto?.

Etiquetas: etiqueta, funcion, input, php, select, variables, formulario
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 13:07.