Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/11/2009, 06:26
Avatar de maycolalvarez
maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cancelar onchange() cuando sucede onsubmit()

en el onchangue quita esa funcion y manda el submit del form, luego en la funcion de validacion del formsi quieres cancelar el envio del mismo devuelve false:

Código HTML:
<form action="consultar_modelo_resultado.php" method="get">
	<label for="codigo">EAN13:</label>
	<input type="text" name="codigo" id="codigo_id" value="{codigo}">
	<input type="button" name="consultar" value="Consultar" style="margin-top: 5px;" onclick="ValidarFormulario()">
</form>

<script type="text/javascript">
//<!--

codigo = document.getElementById("codigo_id");

function ValidarFormulario(){
	form = document.forms[0];
	if(codigo.value.length != 13){
		setTimeout('codigo.select()', 100);
		alert("Debe introducir un código EAN13 válido.");
		return false;
	} else {
		//form.submit(); //NO
		return true;// si el DELEGADO que controla el evento recibe true, envia el form.
	}
}

document.forms[0].onsubmit = function(){
	return ValidarFormulario(); //devuelve el resultado de la validación al DELEGADO
}

codigo.onchange = function(){
	//ValidarFormulario(); //NO
	document.forms[0].submit();//enviar
}

codigo.select();

//-->
</script>