Hola buenas, estoy intentando hacer una "cosa", y me he topado con una piedra(no se si es JS o AJAX), les pongo mi codigo
Código HTML:
<script language="javascript">
function nuevoAjax()
{
var xmlhttp=false;
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 existeArticulo() {
var msj = document.getElementById('MsjVentas');
var art_a_buscar = document.getElementById('Articulo').value;
var mostrador = document.getElementById('mostrador');
var button = document.getElementById('buscar__');
button.disabled = true;
if(document.getElementById(art_a_buscar) == undefined) {
var ajax=nuevoAjax();
ajax.open("POST", "/Libreria/tienda.ajax.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("accion=ExistenciaDeArticulo&IdArticulo="+art_a_buscar);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var resultado = ajax.responseText;
if(resultado=='existente') {
var articuloId = document.createElement('div');
var unidades = 0;
var descuento = 0;
articuloId.id=art_a_buscar;
mostrador.appendChild(articuloId);
return true;
}
else {
msj.innerHTML='no existe indio pasmado';
button.disabled = false;
return false;
}
}
}
}
else {
var unidades = document.getElementById('Unidades_'+art_a_buscar).value;
var descuento = document.getElementById('Descuento_'+art_a_buscar).value;
return false;
}
}
function buscarArticulo() {
var button = document.getElementById('buscar__');
var art_a_buscar = document.getElementById('Articulo').value;
var articuloId = document.getElementById(art_a_buscar);
if(existeArticulo()) {
button.disabled = false;
var ajax=nuevoAjax();
ajax.open("POST", "/Libreria/tienda.ajax.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("accion=CargarArticulo&IdArticulo="+art_a_buscar+"&Unidades="+unidades+"&Descuento="+descuento);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
articuloId.innerHTML = ajax.responseText;
}
}
}
return false
}
</script>
he copiado solo el codigo JavaScript, yo se mas de PHP que JS (cuanto se, es muy poquito, lo basico, pero eso no importa) y uso ciertos pasos que uso en PHP como
if(existeArticulo()), que en PHP es valido solo si retorna true la funcion, antes lo tenia solo con una funcion, y no trabajaba, la hice en dos funciones (eso de variables locales y globales en PHP, referente a la var ajax esta dos veces), el muy cachimbon problema es que precisamente
if(existeArticulo()) no se ejecuta, eso lo se porque
button.disabled = false; no me habilita el boton de nuevo!!!, que hago!!!, segun el programa corre sin problemas, IE no me dice que hubo errror en el codigo!!