Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2011, 03:06
QuiqueGr
 
Fecha de Ingreso: enero-2008
Mensajes: 27
Antigüedad: 16 años, 3 meses
Puntos: 0
Funcion JS no se ejecuta correctamente (o no se ejecuta como yo quiero)

Hola a todos.

Estoy con un problema que no sé bien como resolverlo. A ver si me podéis echar una mano.

El tema es que tengo un formulario que, antes de enviarse, pasa por una función javascript para validar los campos.

El formulario está declarado de la siguiente forma:
Código HTML:
<form id="frmTareaActualizar" name="frmTareaActualizar" method="post" action="consultaTarea.php?id=<?php echo $tarea['idtarea'] ?>" onsubmit="validaDatosActualizar(); return false"> 
Y mi función validaDatosActualizar() es la siguiente (tiene muchos alerts para intentar ver el problma):

Código:
function validaDatosActualizar(){
	alert("Entro");
	var valorasunto = document.getElementById("asunto").value;
	var valorestado = document.getElementById("estado").value;
	var valorfecha = document.getElementById("fechafin").value;
	alert("Asunto " + valorasunto);
	alert("Estado " + valorestado);
	alert("Fecha Fin " + valorfecha);
	alert("Paso");
	if (document.getElementById("asunto").value != ""){
		alert(document.getElementById("estado").value);
		if ((document.getElementById("estado").value == "Abierta") && (document.getElementById("fechafin").value != "")){
			 alert("El expediente no puede estar abierto y tener la fecha de fin informada");
			 return false;
		}
		else{
			alert("Entro al else");
			if ((document.getElementById("estado").value == "Cerrada") && (document.getElementById("fechafin").value == "")){
				alert("El expediente no puede estar cerrado y tener la fecha de fin sin informar");
				return false;
			}
			else{
				alert("Voy a actualizar");
				ActualizarTarea(); 
				return true;
			}
		}
	}
	else{
		alert("Especifique el asunto del expediente.");
		return false;
	}
}
Cuando le doy a enviar el formulario me aparece el alert "Entro" y me actualiza los datos sin mostrarme ningún alert más.

No debería acutalizar los datos ya que debería fallar en este if:
Código HTML:
if ((document.getElementById("estado").value == "Abierta") && (document.getElementById("fechafin").value != ""))
Las lineas estas:
Código:
	var valorasunto = document.getElementById("asunto").value;
	var valorestado = document.getElementById("estado").value;
	var valorfecha = document.getElementById("fechafin").value;
son para intentar ver los valores con los que se ejecuta la función, pero no consigo ver nada.

Espero que podáis decirme algo.

Muchas gracias a todos.
Un saludo.