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

Problema con AJAX

Estas en el tema de Problema con AJAX en el foro de Frameworks JS en Foros del Web. Hola que tal tengo un problema con ajax este es mi script <script type="text/javascript"> function createRequestObject(){ var ro; var browser = navigator.appName; if(browser == "Microsoft ...
  #1 (permalink)  
Antiguo 09/10/2009, 09:45
 
Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Problema con AJAX

Hola que tal tengo un problema con ajax

este es mi script

<script type="text/javascript">

function createRequestObject(){
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
ro = new ActiveXObject("Microsoft.XMLHTTP");
else
ro = new XMLHttpRequest();
return ro;
}

var http = createRequestObject();

function agregarContacto(nombre, aPaterno, alias, correo, telefono){
http.open('get', 'nuevoContacto.php?nombre='+nombre+'&aPaterno='+aP aterno+'&alias='+alias+'&correo='+correo+'&telefon o='+telefono);
http.onreadystatechange = handleResponse;
http.send(null);
}

function handleResponse(){
if(http.readyState == 4)
var response = http.responseText;
document.getElementById("divMensaje").innerHTML = response;
}
</script>

y tengo un formulario así

<form method='post' name='frmNuevoContacto' id='frmNuevoContacto' action=''>
Nombre <input type="text" name="txtnombreContacto" id="txtnombreContacto">
Apellido Paterno <input type="text" name="txtaPaterno" id="txtaPaterno">
Alias <input type="text" name="txtAlias" id="txtAlias">
Correo <input type="text" name="txtCorreo" id="txtCorreo">
Teléfono <input type="text" name="txtTelefono" id="txtTelefono">
<input type="submit" name="btnAgregar" value="Agregar Contacto"
onclick="agregarContacto(document.getElementById(' txtnombreContacto').value, document.getElementById('txtaPaterno').value, document.getElementById('txtAlias').value, document.getElementById('txtCorreo').value, document.getElementById('txtTelefono').value)">

<div align="center" id="divMensaje"> </div>
</form>

como verán mi script llama otra pagina php que envia los valores de nombre etc etc, esa página los recibe bien, incluso me guarda bien en la base de datos, pero mi problema es con el ajax, ya que al guardar correctamente en la base de datos me regresa un mensaje que dice "se guardó correctamente" el cual se supone se imprime con el <div id=divMensaje> </div>

ya que en mi script tengo un innerHMTL sobre el divMensaje

al hacer clic sobre el boton hace todo bien manda los valores los guarda enla BD me regresa el mensaje y lo muestra en panalla, sin embargo lo hace muy rapido que no se alcanza a ver bien el mensaje, incluso hay veces que solo veo undefined o si bien me va alcanzo a leer se guardo correctamente.

y bueno mi funcion del script se ejecuta al hace clic sobre el boton, entonces no se si por ahi pueda estar el problema, que solo se muestra el texto al hacer clic y por eso se desaparece luego luego, entonces no se como colocarle o que cambiarle para que lo deje fijo en pantalla.

bueno espero haberme dado a entender y espero su ayuda

gracias
  #2 (permalink)  
Antiguo 09/10/2009, 10:37
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Respuesta: Problema con AJAX

Que tal userphp, tu problema ocurre debido a que estas usando ajax y por ende no necesitas tener un formulario y ademas el boton para enviar no debe ser tipo “submit” sino “button” nada mas ¿me explico? pues lo que esta pasando es que recibes la respuesta por ajax e inmediatamente despues la pagina se recarga por el envio del formulario.

Solo necesitas retirar lo de <form... ></form> y cambiar tu el tipo de tu boton por “button” y ya.



Con eso debe funcionar.
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #3 (permalink)  
Antiguo 09/10/2009, 11:13
 
Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con AJAX

gracias hice los cambios y ya funciona bien, solo que ahora quisiera saber como borro las cajas de texto, ya que se queda el texto que esribi antes.

gracias
  #4 (permalink)  
Antiguo 09/10/2009, 11:24
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Respuesta: Problema con AJAX

Cita:
Iniciado por userphp Ver Mensaje
gracias hice los cambios y ya funciona bien, solo que ahora quisiera saber como borro las cajas de texto, ya que se queda el texto que esribi antes.

gracias
Solo borra el value de todos los campos al terminar, Ej:

Código:
document.getElementById('txtnombreContacto').value = "";
Y así para todos los demas campos. Esto lo puedes hacer justo después de escribir la resupesta en tu div.
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #5 (permalink)  
Antiguo 09/10/2009, 12:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con AJAX

muy amable, intentaba hacer algo por el estilo, pero me faltaba algo, gracias
  #6 (permalink)  
Antiguo 12/10/2009, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con AJAX

Mensaje trasladado desde PHP a 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 16:48.