Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2009, 21:07
Avatar de rudy69
rudy69
 
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 meses
Puntos: 7
JavaScript solo puede abrir una vez un documento?

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!!