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

ajx y div

Estas en el tema de ajx y div en el foro de Frameworks JS en Foros del Web. hola todos ya con anterioridad escribi por el mismo problema y aun no lo he resuelto y me haria falta algo de ayuda, trabajo asp ...
  #1 (permalink)  
Antiguo 14/02/2007, 12:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
ajx y div

hola todos ya con anterioridad escribi por el mismo problema y aun no lo he resuelto y me haria falta algo de ayuda, trabajo asp con sql2000, tengo una funcion uasando ajax para validar x datos contra el servidor, la respuestas que recibo segun los datos que valido son "si","no" o "vacio", segun la respuesta muestro un alert() limpio el value del input text y mediante innerHtml pongo en un div la respuesta que me devolvio la funcion ajax, hasta ahi todo bien, tambien tengo un boton guardar que llama a una funcion que valida los input text para ver si los valores cumplen las reglas, en dicha funcion llamo a la funcion que utiliza ajax y me da los alert correspondientes pero al tratar de tomar el valor que escribe en el div es donde tengo el problema, despues de llamada la funcion escribo

var valor = document.all.uno.innerText
posteriormente pongo un alert(valor) para comprobar el valor de la variable
y me da en blanco sin embargo vi que en el documento escribio la respuesta no, si,vacio segun el valor del input text, ahora si vuelvo a presionar dicho boton entonces si me da la ventana con ;la respuesta adecuada o sea tengo que presionar dos veces el boton para que me de la respuesta adecuada, algo tengo mal y no se que es, me imagino que sea al tomar el valor del div, si me pudioeran ayudar se los voy a agredecer

gracias de antemano.
  #2 (permalink)  
Antiguo 15/02/2007, 08:30
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: ajx y div

loading...............

tomas el valor de ese div despues de que termina tu proceso ajax? o mientras hace el proceso ajax.

si es el primer caso porque no pones

var valor = document.getElementById("uno").innerHTML;
alert(valor);

connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 15/02/2007, 13:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ajx y div

ante todo gracias por responder, te incluyo el codigo:

esta es mi funcion ajax:

en ella valido datos segun el parametro y me debe dar una ventana en caso de que sea negativo ademas de poner el valor si o no en el div correspondiente hasta ahi todo bien.cuando se introduce en el input text el valor a validar y se presiona enter enseguida de ser falsa la busqueda da la ventana de eroor y ademas pone en el div no.

Cita:
<script language="javascript" type="text/javascript">
function handleHttpResponse(){
if(http.readyState == 4){
if(http.status == 200){
if(http.responseText.indexOf('invalid') == -1){
results = http.responseText.split(",");
var pepe = results[0];
var lugar = results[1]
var destino = results[2];
var option = new Number(results[3])
var frm = document.forms.hoja;
var mensaje = "";
var uno = document.getElementById("uno");
var dos = document.getElementById("dos");

if(option == 3){
if(pepe = "si")
uno.innerHTML = "si";
if(lugar = "si")
dos.innerHTML = "si";

if(pepe = "no"){
alert("Esta Matricula no Existe.")
uno.innerHTML = "no";
}
if(lugar = "no"){
alert("Esta Hoja de Ruta ya se Proceso.")
dos.innerHTML = "no";
}

}

if(option != 3){
if(pepe == "si"){
if(option == 1)
uno.innerHTML = "si";
if(option == 2)
dos.innerHTML = "si";
frm.elements(destino).focus()
}

if(pepe == "no" || pepe == "vacio"){
if(option == 1){
mensaje = "Esta Matricula no Existe.";
uno.innerHTML = "no"
}
if(option == 2){
if(pepe == "no")
mensaje = "Esta Hoja de Ruta ya se Proceso.";
if(pepe == "vacio")
mensaje = "Debe Teclear una Hoja de Ruta.";
dos.innerHTML = "no";
}

alert(mensaje)
frm.elements(lugar).value = "";
frm.elements(lugar).focus()
}
}
enProceso = false;
}
}
}
}


function verifica(option,option1) {
var frm = document.forms.hoja;
if(window.event.keyCode == 13 || option1 == 0){
if(option == 1){
var nombre = "VEHICULOS";
var valor = escape(document.getElementById("T1").value);
}
if(option == 2){
var nombre = "<%=name_table%>";
var valor = escape(document.getElementById("T2").value);
valor = "<%=lugar%>" + valor;
}
if(option == 3){
var nombre1 = "<%=name_table%>";
var valor = escape(document.getElementById("T1").value);
var nombre = "VEHICULOS";
var valor1 = escape(document.getElementById("T2").value);
valor1= "<%=lugar%>" + valor1;
}

if(!enProceso && http) {
var dd = Math.random();
if(option == 1 || option == 2)
var url = "consulta.asp?envio="+ valor + "&opcion="+option+"&tipo="+nombre+"&dd="+dd;
if(option == 3)
var url = "consulta1.asp?envio="+ valor + "&envio1="+valor1+"&opcion="+option+"&tipo="+nombr e+"&tipo1="+nombre1+"&dd="+dd;
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
enProceso = true;
http.send(null);
}

}
}

function getHTTPObject() {
var objetus = false;

try {
objetus = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
objetus= new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
objetus= false;
}
}

if (!objetus && typeof XMLHttpRequest!='undefined') {
objetus = new XMLHttpRequest(); }
return objetus
}

var enProceso = false; // lo usamos para ver si hay un proceso activo
var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest


</script>
esto se ejecuta asi

Cita:
<input type="text" class="texto" size="15" name="Text1" id="T1" onKeyDown="verifica(1,1)" tooltipText="Introduzca aqui la Chapa o Matricula del Vehiculo que Desea Introducir al Sistema.">
en la pagina ademas de llenar otros input text hay un boton que dice guardar que llama a una funcion que es esta:

Cita:
<SCRIPT Language=JavaScript>
function Comprueba(){
var frm = document.forms.hoja;
var suma = 0;
var chofer = 0;
var dd = 0;
var uno = 0;
var dos = 0;
var tres = 0;
var cuatro = 0;
var cinco = 0;
var seis = 0;
var siete = 0;
var ocho = 0;
var nueve = 0;
var dies = 0;
var once = 0;
var doce = 0;
var trece = 0;
var catorce = 0;
var quince = 0;
var diesiseis = 0;
var diesiete = 0;
var diesocho = 0;
var diesnueve = 0;

// aqui es donde llamo a la funcion y recojo despues de ejecutada el valor del div o al menos eso creo

verifica(1,0);
// el problema es que cuando se ejecuta esto veo en la pantalla que el div coje el valor adecuado segun el dato puesto en el text

uno = document.all.uno.innerText
// pero en la linea siguiente ese alert me da en blanco aun cuando veo que el div tiene el valor si o no
alert(uno)

//pero si vuelvo a presionar el boton entonces es cuando el alert anterior me da el valor del div.


tres = valid_fechat('hoja','Text3','Text3',<%=date_work(" DIA")%>,<%=date_work("MES_CREADO")%>,<%=date_work( "AO")%>,1);
cuatro = valid11('hoja','Text4',0,0,0,'Text4',0);
cinco = valid11('hoja','Text5',1,0,10000,'Text5',0);
seis = valid11('hoja','Text6',1,0,10000,'Text6',0);
siete = valid11('hoja','Text7',1,0,10000,'Text7',0);
ocho = valid11('hoja','Text8',1,0,10000,'Text8',0);
nueve = valid11('hoja','Text9',1,0,10000,'Text9',0);
dies = valid11('hoja','Text10',1,0,10000,'Text10',0);
once = valid11('hoja','Text11',1,0,10000,'Text11',0);
doce = valid11('hoja','Text12',1,0,10000,'Text12',0);
trece = valid11('hoja','Text13',1,0,10000,'Text13',0);
catorce = valid11('hoja','Text14',1,0,10000,'Text14',0);
quince = valid11('hoja','Text15',1,0,10000,'Text15',0);
dieseis = valid11('hoja','Text16',1,0,10000,'Text16',0);
diesiete = valid11('hoja','Text17',1,0,10000,'Text17',0);

if(frm.elements.Text4.value == 0 && frm.elements.Text5.value == 0 && frm.elements.Text6.value == 0 && frm.elements.Text7.value == 0 && frm.elements.Text8.value == 0 && frm.elements.Text9.value == 0 && frm.elements.Text10.value == 0 && frm.elements.Text11.value == 0 && frm.elements.Text12.value == 0 && frm.elements.Text13.value == 0 && frm.elements.Text14.value == 0 && frm.elements.Text15.value == 0 && frm.elements.Text16.value == 0 && frm.elements.Text17.value == 0)
suma ++;

if(frm.elements.select1.value == "SIN CHOFER" && frm.elements.select2.value == "SIN CHOFER")
chofer = 1;

if(suma > 0)
alert("Debe escribir al menos un valor");
if(chofer > 0)
alert("Debe Escoger al Menos un Chofer");

if(chofer == 0 && suma == 0 && uno == 0 && dos == 0 && tres == 0 && cuatro == 0 && cinco == 0&& seis == 0 && siete == 0 && ocho == 0 && nueve == 0 && dies == 0 && once == 0 && doce == 0 && trece == 0 && catorce == 0 && quince == 0 && dieseis == 0 && diesiete == 0 && diesocho == 0 && diesnueve == 0){
var frm1 = document.forms.hoja1;
frm1.elements.hiddenFieldAction1.value = frm.elements.Text1.value
frm1.elements.hiddenFieldAction2.value = frm.elements.Text2.value
frm1.elements.hiddenFieldAction3.value = frm.elements.Text3.value
frm1.elements.hiddenFieldAction4.value = frm.elements.Text4.value
frm1.elements.hiddenFieldAction5.value = frm.elements.Text5.value
frm1.elements.hiddenFieldAction6.value = frm.elements.Text6.value
frm1.elements.hiddenFieldAction7.value = frm.elements.Text7.value
frm1.elements.hiddenFieldAction8.value = frm.elements.Text8.value
frm1.elements.hiddenFieldAction9.value = frm.elements.Text9.value
frm1.elements.hiddenFieldAction10.value = frm.elements.Text10.value
frm1.elements.hiddenFieldAction11.value = frm.elements.Text11.value
frm1.elements.hiddenFieldAction12.value = frm.elements.Text12.value
frm1.elements.hiddenFieldAction13.value = frm.elements.Text13.value
frm1.elements.hiddenFieldAction14.value = frm.elements.Text14.value
frm1.elements.hiddenFieldAction15.value = frm.elements.Text15.value
frm1.elements.hiddenFieldAction16.value = frm.elements.Text16.value
frm1.elements.hiddenFieldAction17.value = frm.elements.Text17.value
frm1.elements.hiddenFieldAction18.value = frm.elements.select1.value
frm1.elements.hiddenFieldAction19.value = frm.elements.select2.value
dd = 0;
return dd;
}
else {
dd = 1;
return dd;
}
}
</script>
en esta pagina tengo otras cosas que pense que pudieran influenciar pero lo he probado en una pagian nueva con solo un text y nada tampoco me havce exactamente lo mismo

gracias de antemano.

por supuesto hice tu sugrerencia pero nada
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:42.