Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2008, 18:09
MariaClaudiaSalerno
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Mi código funciona con un div pero no con un input

Buenas noches:
Es mi primera consulta en este foro, espero tener fortuna.
Se trata de lo siguiente.

Tengo un formulario en que un campo llamado FECHA se llena vía un script del tipo calendario con la fecha que el usuario ha seleccionado.

En otro campo llamado CAMBIO se registra el tipo de cambio del dólar. Por default siempre muestra al inicio el tipo de cambio del día, pero si el usuario seleccionará una fecha pasada debería de mostrar el tipo de cambio de dicha fecha.

Ahora bien esto es lo que hice

FORMULARIO.ASP > la página con el formulario
AJAX.ASP > la página que procesará los datos de ajax
AJAXSCRIPT.JS > el código ajax propiamente dicho


FORMULARIO.ASP
<script>
function actualizarTC()
{
var fecha_TC=document.registros.fecha.value;
actualizarTipoDeCambio=(fecha_TC);
}
</script>

<form name="registros">

//este es el segmento del código que llama al calendario y que luego de seleccionar la fecha esta es devuelta y mostrada en el input FECHA

<input type="text" name="fecha" size="10" readonly" onFocus="actualizarTC();">
<a href="javascript:showCal('RCV')">
<img src="imagenes/gif/calendar.gif" alt="" width="18" height="17" border="0">
</a>

</form>


AJAXSCRIPT.JS

function nuevoAjax()
{
var xmlhttp=false;

try
{xmlhttp = new XMLHTTPRequest();}
catch(err1)
{
try
{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch (err2)
{
try
{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch (err3)
{xmlhttp = false;}
}
}
return xmlhttp;
}

function actualizarTipoDeCambio(dato)
{
var miAleatorio = parseInt(Math.random()*9999999999999999999);
var contenedor;contenedor = document.getElementById('contenedor');

ajax=nuevoAjax();ajax.open("GET", "ajax.asp?fecha="+dato+"&"+miAleatorio,true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
if (ajax.status==200)
{
contenedor.innerHTML = ajax.responseText
}
}
}
ajax.send(null)
}

AJAX.ASP
Realiza la búsqueda en la base de datos y al encontrar el tipo de cambio correspondiente a la fecha ingresada la muestra con un

response.write(fecha)


Ahora, estoy usando el ID=CONTENEDOR. Lo curioso es que si pongo en la página FORMULARIO.ASP esto

<div id="contenedor" style="width:100px; height: 20px;"></div>

si me muestra en ese div o layer el resultado, pero si pongo

<input type="text" name="fecha" size="10" id="contenedor" readonly" onFocus="actualizarTC();">

no me muestra nada y me sale un error de undefined

¿Alguien me puede dar una mano por favor?

Muchas gracias