Foros del Web » Programando para Internet » Javascript »

Ajax JavaScriot

Estas en el tema de Ajax JavaScriot en el foro de Javascript en Foros del Web. Hola, tengo un problema no puedo ejecutar script de javascript, tengo un ejemplo simple aver si me pueden ayudar desde ya muchas Gracias index.php Código ...
  #1 (permalink)  
Antiguo 24/10/2012, 06:48
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 2
Ajax JavaScriot

Hola, tengo un problema no puedo ejecutar script de javascript, tengo un ejemplo simple aver si me pueden ayudar desde ya muchas Gracias

index.php

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
HTML>
    <
HEAD>
        <
TITLE>
            
Sistema de Encuestas
        
</TITLE>
        <
META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
        <
STYLE>
            .
texto 
            
{
                
FONT-SIZE10ptCOLOR#000000; FONT-FAMILY: sans-serif, Arial, Helvetica; TEXT-DECORATION: none;
            
}
        </
STYLE>
        <
script language="javascript" src="./includes/js/functions.js"></script>
    </HEAD>
    <BODY topmargin="0" leftmargin="0" rightmargin="0">
        <table>
            <tr>
                <td>
                    <select name="combo" id="combo" onchange="db_preduntas(this);">
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td id="resultados"></td>
            </tr>
        </table>
    </BODY>
</HTML> 
functions.js (ajax)

Código Javascript:
Ver original
  1. var conexion1;
  2. function db_preduntas(value)
  3. {
  4.   conexion1=crearXMLHttpRequest();
  5.   conexion1.onreadystatechange = procesarEventos;
  6.   conexion1.open('GET','./includes/functions/db_preguntas.php?values='+value.value, true);
  7.   conexion1.send(null);
  8. }
  9.  
  10. function procesarEventos()
  11. {
  12.   var resultados = document.getElementById("resultados");
  13.   if(conexion1.readyState == 4)
  14.   {
  15.     resultados.innerHTML = conexion1.responseText;
  16.    
  17.   }
  18.   else
  19.   {
  20.     resultados.innerHTML = 'Cargando...';
  21.   }
  22. }
  23.  
  24. function crearXMLHttpRequest()
  25. {
  26.   var xmlHttp=null;
  27.   if (window.ActiveXObject)
  28.     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  29.   else
  30.     if (window.XMLHttpRequest)
  31.       xmlHttp = new XMLHttpRequest();
  32.   return xmlHttp;
  33. }

db_preguntas.php

Código PHP:
<?php 
    $value
=$_GET["values"];
    switch (
$value){
        case 
1:
            echo 
"Opcion 1";
            
$valor=1;
        break;
        case 
2:
            echo 
"Opcion 2";    
            
$valor=2;
        break;
        case 
3:
            echo 
"Opcion 3";
            
$valor=3;    
        break;
        case 
4:
            echo 
"Opcion 4";
            
$valor=4;    
        break;
        case 
5:
            echo 
"Opcion 5";
            
$valor=5;    
        break;
    }
?>
<script language='javascript'>
        alert(<?php echo $valor;?>);
</script>
En general funciona pero no ejecuta la parte de javascript de alert();
Código Javascript:
Ver original
  1. <script language='javascript'>
  2.         alert(<?php echo $valor;?>);
  3. </script>
  #2 (permalink)  
Antiguo 24/10/2012, 07:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Ajax JavaScriot

principal error de principiantes en ajax: el NO evaluar el conexion1.status == 200 junto con el conexion1.readyState == 4, consulte un manual de AJAX, debe ser:

if ((conexion1.readyState == 4) && (conexion1.status == 200))

Manual recomendado: http://librosweb.es/ajax/index.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/10/2012, 07:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Ajax JavaScriot

En primer lugar analizá este ejemplo por el tema de la ejecución del javascript en el php
http://foros.emprear.com/ajax/html-css-js-ajax/
En segundo, ¿que sentido tiene hacer ese alert en el php?
si el responseText que recibe Ajax tiene el formato

"Opcion 1"
"Opcion 2"
etc.
Podés extraer el numero de esa misma cadena con un split() y mostrar el alert en el javascript

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 24/10/2012, 07:47
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ajax JavaScriot

Cita:
Iniciado por maycolalvarez Ver Mensaje
principal error de principiantes en ajax: el NO evaluar el conexion1.status == 200 junto con el conexion1.readyState == 4, consulte un manual de AJAX, debe ser:

if ((conexion1.readyState == 4) && (conexion1.status == 200))

Manual recomendado: [URL]http://librosweb.es/ajax/index.html[/URL]
Gracias por consejo tambien asi no me anda :S
  #5 (permalink)  
Antiguo 24/10/2012, 08:00
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ajax JavaScriot

Cita:
Iniciado por emprear Ver Mensaje
En primer lugar analizá este ejemplo por el tema de la ejecución del javascript en el php
[url]http://foros.emprear.com/ajax/html-css-js-ajax/[/url]
En segundo, ¿que sentido tiene hacer ese alert en el php?
si el responseText que recibe Ajax tiene el formato

"Opcion 1"
"Opcion 2"
etc.
Podés extraer el numero de esa misma cadena con un split() y mostrar el alert en el javascript

Saludos
Gracias por ejemplos, pasa que alert es un ejemplo lo que estoy aciendo es mucho mas grande y no voy a poner en la tema, lo que estoy asiendo es varios consultas en sql armo un array y nesecito cargar a una function de javascript por ejemplo:

Código PHP:
<?php
      $array
=array();
      
$array[0]='Hola ';
      
$array[1]='Mundo';
      
$array[2]='!!!.';
?>
<script type="text/javascript">
        cargarDatos(<?php $array ?>);
</script>
pero tampoco me funciona esto ya que ni siquiera ase alert();
Gracias...
  #6 (permalink)  
Antiguo 24/10/2012, 08:14
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Ajax JavaScriot

Tenés que hacer uso de la función cargarRecursos() y poner el js en un archivo externo

Revisá el código fuente de los ejemplos, o bajá toda la aplicación

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 24/10/2012, 09:10
 
Fecha de Ingreso: marzo-2010
Ubicación: Buenos Aires
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ajax JavaScriot

Bueno chicos ya pude solucionar no como yo queria pero lo mas importante que anda aca dejo los codigos si alguien algun dia necesita como de ejemplo:

index.php

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2.     <HEAD>
  3.         <TITLE>
  4.             Sistema de Encuestas
  5.         </TITLE>
  6.         <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
  7.         <STYLE>
  8.             .texto
  9.             {
  10.                 FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: sans-serif, Arial, Helvetica; TEXT-DECORATION: none;
  11.             }
  12.         </STYLE>
  13.         <script language="javascript" src="./includes/js/functions.js"></script>
  14.         <script language='javascript'>
  15.             function cargarDatosRespuestas(datos){
  16.                 alert(datos);
  17.             }
  18.             function ejecutar(){
  19.                 elemento=document.getElementById('respuestas');
  20.                 cargarDatosRespuestas(elemento.value);
  21.             }
  22.         </script>
  23.     </HEAD>
  24.     <BODY topmargin="0" leftmargin="0" rightmargin="0">
  25.         <table>
  26.             <tr>
  27.                 <td>
  28.                     <select name="combo" id="combo" onchange="db_preduntas(this);">
  29.                         <option value="1">1</option>
  30.                         <option value="2">2</option>
  31.                         <option value="3">3</option>
  32.                         <option value="4">4</option>
  33.                         <option value="5">5</option>
  34.                     </select>
  35.                 </td>
  36.             </tr>
  37.             <tr>
  38.                 <td id="resultados"></td>
  39.             </tr>
  40.         </table>
  41.     </BODY>
  42. </HTML>

functions.js (ajax)

Código Javascript:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3.     <HEAD>
  4.         <TITLE>
  5.             Sistema de Encuestas
  6.         </TITLE>
  7.         <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
  8.         <STYLE>
  9.             .texto
  10.             {
  11.                 FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: sans-serif, Arial, Helvetica; TEXT-DECORATION: none;
  12.             }
  13.         </STYLE>
  14.         <script language="javascript" src="./includes/js/functions.js"></script>
  15.         <script language='javascript'>
  16.             function cargarDatosRespuestas(datos){
  17.                 alert(datos);
  18.             }
  19.             function ejecutar(){
  20.                 elemento=document.getElementById('respuestas');
  21.                 cargarDatosRespuestas(elemento.value);
  22.             }
  23.         </script>
  24.     </HEAD>
  25.     <BODY topmargin="0" leftmargin="0" rightmargin="0">
  26.         <table>
  27.             <tr>
  28.                 <td>
  29.                     <select name="combo" id="combo" onchange="db_preduntas(this);">
  30.                         <option value="1">1</option>
  31.                         <option value="2">2</option>
  32.                         <option value="3">3</option>
  33.                         <option value="4">4</option>
  34.                         <option value="5">5</option>
  35.                     </select>
  36.                 </td>
  37.             </tr>
  38.             <tr>
  39.                 <td id="resultados"></td>
  40.             </tr>
  41.         </table>
  42.     </BODY>
  43. </HTML>

db_preguntas.php

Código PHP:
<?php 
    $value
=$_GET["values"];
    switch (
$value){
        case 
1:
            echo 
"Opcion 1";
            
$valor=1;
        break;
        case 
2:
            echo 
"Opcion 2";    
            
$valor=2;
        break;
        case 
3:
            echo 
"Opcion 3";
            
$valor=3;    
        break;
        case 
4:
            echo 
"Opcion 4";
            
$valor=4;    
        break;
        case 
5:
            echo 
"Opcion 5";
            
$valor=5;    
        break;
    }
?>
<input type="hidden" name="respuestas" id="respuestas" value="<?php echo $valor;?>">
bueno Gracias a todos sobre todo a "emprear" y "maycolalvarez".
Saludos.

Etiquetas: ajax
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 21:41.