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

Problema en firefox con formulario dinamico en ajax

Estas en el tema de Problema en firefox con formulario dinamico en ajax en el foro de Frameworks JS en Foros del Web. Hola pues miren tengo una tabla que la lleno con una cosulta a mi tabla en la base de datos por medio de ajax y ...
  #1 (permalink)  
Antiguo 13/10/2008, 09:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Información Problema en firefox con formulario dinamico en ajax

Hola pues miren tengo una tabla que la lleno con una cosulta a mi tabla en la base de datos por medio de ajax y php y todo va bien a la hora que esta llena la tabla lleva un campo que es un link a otro formulario que se llena dinamicamente con los datos de la consulta y lo que te permite es actualizar los campos de la bd sin embargo en ie funciona todo a la perfeccion y en firefox solo funciona la primera vez que actualizo los datos despues si kiero volver a actualizar se bloquea el formulario y nececito recargar la pagina para que funcione me puede ayudar???
  #2 (permalink)  
Antiguo 13/10/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema en firefox con formulario dinamico en ajax

Hola sanga24,

Sin ver tu código es muy dificil ver el porque del fallo.

Saludos.
  #3 (permalink)  
Antiguo 13/10/2008, 10:12
 
Fecha de Ingreso: octubre-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema en firefox con formulario dinamico en ajax

<?php include('lib.php');?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>_.::Panel de Clientes::._</title>
</head>
<body>
<div id="conteiner" style="text-align:center;width:280px;height:18;">
<table width="98%" cellpadding=2 cellspacing=2 class="estilotabla" style="border-top-style:dashed">
<caption id="tag">Numero_de_Mensajes</caption>
<tr><th class="estilocelda">Contratados </th>
<th class="estilocelda">Restantes </th></tr>

<tr><th><?php echo $numero_sms ?></th>
<th><?php echo $numero_sms ?></th></tr>
</table>
<table width=98% cellpadding=2 cellspacing=2 class="estilotabla" style="border-top-style:dashed">
<caption id="tag">Anuncios</caption>
<tr><th class="estilocelda"> Anuncion Actual </th>
<th class="estilocelda">Editar </th></tr>

<tr><th><?php echo $anuncio?></th>
<th><?php echo "<a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$id."')\">Click Aqui</a>";?></th>
</table>
</div>
</body>
</html>

En este codigo es el de tabla y el link que pide el formulario para actualizar

lo siguiente es como genero el objeto ajax y las funciones para pedirdatos (hacer consulta) y enviardatos(actualizar)

function objetoAjax(){
var xmlhttp=false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
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 enviarDatosEmpleado(){
//donde se mostrar? lo resultados
divResultado = document.getElementById('resultado');
divFormulario = document.getElementById('formulario');
divResultado.innerHTML= '<img src="barra.gif">Actualizando';

//valores de los cajas de texto
id=document.frmempleado.idempleado.value;
dep=document.frmempleado.departamento.value;


//instanciamos el objetoAjax
ajax=objetoAjax();
//usando del medoto POST
//archivo que realizar? la operacion ->actualizacion.php
ajax.open("POST", "actualizacion.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar los nuevos registros en esta capa
divResultado.innerHTML = ajax.responseText
//una vez actualizacion ocultamos formulario
divFormulario.style.display="none";


}
}
//muy importante este encabezado ya que hacemos uso de un formulario
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.setRequestHeader("Connection", "close");
ajax.send("idempleado="+id+"&departamento="+dep)
}

function pedirDatos(idempleado){
//donde se mostrar? el formulario con los datos
divFormulario = document.getElementById('formulario');



//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod POST
ajax.open("POST", "consulta_por_id.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divFormulario.innerHTML = ajax.responseText
divFormulario.style.display="block";
}
}
//como hacemos uso del metodo POST
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando el codigo del empleado
ajax.setRequestHeader("Connection", "close");
ajax.send("idemp="+idempleado)
}


De aqui este codigo se va al siguiente:

<?php
include_once("cEmpleado.php");
//variables POST
$idemp=$_POST['idempleado'];

$dep=$_POST['departamento'];

sleep(2);
//actualiza los datos del empleados
$objempleado = new cEmpleado;
if ($objempleado->actualizar($idemp,$dep)==true){
include('inicio.php');
//header ("Location: inicio.php");
//echo "<div id=\"imp\">Anuncio actualizado! </div>.";
}
else{
echo "No se pudo actualizar";
}

?>

este codigo actualiza y envia de nuevo a la pagina de inicio que fue el primer codigo
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 06:34.