Tienes razon, disculpas, este es el script q envia los datos del form y evita q se recargue la pagina al enviarlo.
Código:
<script type="text/javascript">
function enviarDatos(){
var formulario = document.getElementById("formulario");
var datos = new FormData(formulario);
//xhr(datos);
probadate1=document.getElementById('date1');
proba_date1=probadate1.value;
probadate2=document.getElementById('date2');
proba_date2=probadate2.value;
probachooser=document.getElementById('especies');
// completar la siguiente linea para obtener los values seleccionados en "selector"
var txt='';
var i;
var count = 0;
for (i=0; i<probachooser.options.length; i++) {
if (probachooser.options[i].selected) {
if (count==0)
txt+= "'"+probachooser.options[i].value+"'";
else
txt+= "#'"+probachooser.options[i].value+"'";
}
count++;
}
//hace la comparacion de las dos fechas
compareDates('datechooser','date1','date2');
url_proba='date1='+proba_date1+'&date2='+proba_date2+'&especies='+txt;
xhr(url_proba);
}
var xmlhttp;
function xhr(datos){ //funcion para crear las peticiones de XMLHttpResquest
// Generalmente sacada de páginas que usan un método para IE6 o anteriores,
// IE 7, FF, Opera, Google Chrome, u otros.
/*var xmlhttp;*/
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = procesarRespuesta; //Ojo sin parentesis
xmlhttp.open("POST", "consulta2.php", true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", 3);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(datos);
}
function procesarRespuesta(){
if(xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
//document.getElement.innerHTML = xmlhttp.responseText;
//alert(xmlhttp.responseText);
//recarga el grid al hacer la peticion. de salida esta a false para que no lo muestre.
store.load();
}
}
}
</script>
Como decia en el primer mensaje, una vez q muestra el POST en firebug, veo q efectivamente rellena los campos especie y date1 y date2, pero cuando veo el GET es cuando dice lo de undefined index.
probe con algo del estilo - q seguro q esta mal -
Código:
$date1 = "'".$_POST['date1']."'";//recoge la fecha entre comas
echo $date1;
if(!isset($_POST['date1'])){
$date1 = "'".$_POST['date1']."'";
}
...