Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/10/2011, 13:43
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema recogiendo variables

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']."'";
} 
...