Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Simplemente ayuda

Estas en el tema de Simplemente ayuda en el foro de Frameworks JS en Foros del Web. Es la primera vez que programo en AJAX. Espero que podáis echarme un cable: Archivo 1: nuevoPedido.php Funciones implementadas en JavaScript : Código: function objetoAjax(){ ...
  #1 (permalink)  
Antiguo 02/06/2009, 10:52
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Simplemente ayuda

Es la primera vez que programo en AJAX. Espero que podáis echarme un cable:

Archivo 1: nuevoPedido.php

Funciones implementadas en JavaScript:

Código:
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 comprobarFestivo(){
	divResultado = document.getElementById('festivo');
	ajax=objetoAjax();
	if (document.getElementById('dia').value!='' && document.getElementById('mes')!='' && document.getElementById('year')!='')
	{
		//Si la fecha está completa analizamos el ámbito de ejecucion de la consulta.
		if (document.getElementById('nacional').checked==true)
			$ambitoSeleccionado = 'nacional';
		else if(document.getElementById('selectComunidades').value!='')
			$ambitoSeleccionado = document.getElementById('selectComunidades').value;
		else if(document.getElementById('selectProvincias').value!=''){
			$ambitoSeleccionado = calcularComunidad(document.getElementById('selectProvincias').value);
		}
		$dia = document.getElementById('dia');
		$mes = document.getElementById('mes');
	}
	ajax.open('GET', 'nuevoPedido2.php?ambitoSeleccionado='+ambitoSeleccionado+'&dia='+dia+'&mes='+mes);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			divResultado.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null)
}
Parte donde se invocan del fichero:

Código HTML:
 <div class="ejemplo">
            <div>
            <p>
            <span class="grupo">
            <label for="dia">
              <input name="dia" type="text" class="fechaA day post rang10" id="dia" value="" size="4" maxlength="2" onchange="comprobarFestivo()"/>
            </label>
            <label for="mes">
                <input class="fechaA month" maxlength="2" type="text" id="mes" name="mes" value="" size="4" onchange="comprobarFestivo()"/>
            </label>&nbsp;-
            <label for="year">
                <input class="fechaA year" maxlength="4" type="text" id="year" name="year" value="" size="8" onchange="comprobarFestivo()"/>
            </label>
            </span></p>
            </div>
            </div>
            <div id="festivo"></div> 
Por último: el fichero que carga la capa "festivo"

Código PHP:
// Anteriormente cargo los datos de la base de datos.
if(isset($_GET['ambitoSeleccionado'] and $_GET['dia'] and $_GET['mes'])){
  
$ambito=$_GET['ambitoSeleccionado'];
  
$dia=$_GET['dia'];
  
$mes=$_GET['mes'];
}

$sql=mysql_query("SELECT dia
                 FROM festivos 
                 WHERE dia='$dia' AND mes='$mes'"
,$con);
if(
mysql_num_rows($sql)!=0){
    if(
$ambito != 'nacional'){
        
$row mysql_fetch_array($sql);
        if (
$row['$ambito']==1){
            echo 
"</p>El día elegido es festivo, esta circunstancia puede hacer que se <b>incremente el precio</b> </p>"
        }else{
            echo 
"El día elegido no presenta festividad alguna"
        }
    }else{
        echo 
"</p>El día elegido es festivo, esta circunstancia puede hacer que se <b>incremente el precio</b> </p>";
    }

Pues bien, no funciona, por mas que me rompo los cuernos no funciona, y encima tengo otras funciones en javascript que comprobaban los campos de ambito que ahora tampoco funcionan, ayuda por favor
  #2 (permalink)  
Antiguo 02/06/2009, 19:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Simplemente ayuda

Te recomiendo usar la herramienta Firebug, del Browser Firefox para que puedas hacer un debug de tus llamadas AJAX.

Saludos.
  #3 (permalink)  
Antiguo 03/06/2009, 01:06
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Simplemente ayuda

Podrías decirme como utilizar Firebug para realizar este cometido??

Muchas gracias por la ayuda :)
  #4 (permalink)  
Antiguo 04/06/2009, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Simplemente ayuda

Simplemente en la consola al hacer un request AJAX puedes ver los datos que se envian y lo que te responde el servidor, con eso puedes hacer un "debug".

Saludos.
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 14:40.