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