@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<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<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<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript"> //<![CDATA[
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;
}
function MostrarConsulta(url){
var divResultado1 = document.getElementById('resultado1');
var divResultado2 = document.getElementById('resultado2');
var cat = document.getElementById('categoria').value;
var ord = document.getElementById('orden').value;
// contruís la variable datos con la url + la categoria + el orden como parámetros
var datos = url + '?categoria=' + cat + '&orden=' + ord;
alert(datos);
ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var abc = ajax.responseText;
alert(abc);
var ccc = abc.split("|");
divResultado1.innerHTML = ccc[0];
divResultado2.innerHTML = ccc[1];
}
}
ajax.send(null)
}
//]]>
<form action="#" method="get"> Categoria:
<select id="categoria"> <option value="opcion3" selected="selected">opcion3
</option>
Informacion:
<select id="orden"><option value="opcion3" selected="selected">opcion3
</option>
<input type="button" value="Aplicar Filtro" onclick="MostrarConsulta('filtroconsulta.php');"/>
filtroconsulta.php
Código PHP:
Ver original<?php
$categoria = $_GET['categoria'];
$orden = $_GET['orden'];
if($orden == 'opcion1'){
echo "uno|";
}
if($orden == 'opcion2'){
echo "dos|";
}
if($orden == 'opcion3'){
echo "tres|";
}
if($categoria == 'opcion1'){
echo "manzanas";
}
if($categoria == 'opcion2'){
echo "naranjas";
}
if($categoria == 'opcion3'){
echo "peras";
}
?>
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