Saludos, tengi una función que me esta haciendo sufrir y no se como hacerla.
He buscado que en javascript no se puede hacer paso de variables por referencia así que estoy atascado.
Estoy trabajando con un formulario y lo que quiero hacer es que si hacen click en un select y dejan el valor por default pregunte si esa es la opción que quiere dejar y que continué verificando campos.
Si envían nuevamente el formulario quiero que ya no pregunte por los campos en los que dejaron la opción por default, pero no lo hace.
Código:
<script type="text/javascript">
var control = new Array(false,false,false);
for(var ini=0;ini<control.length;ini++)
alert("control"+ini+control[ini]);
function validarCiclo(formulario)
{ //alert("tamaño:"+document.myform.cicloA.length);
var arrVerificar = new Array(false,false,false);
//alert(document.myform.elements.length);
//var arrVerificar = new Array(false);
var bandera =new Array(false,false);
for(var i=0;i<2;i++)
{ control[0]=true;
alert("control"+i+control[i]);
alert("verf"+i+arrVerificar[i]);
if(bandera[i] == false)
{
if(document.myform.elements[i].options[document.myform.elements[i].selectedIndex].text.indexOf("Por definir")!=-1)
{
var resp = confirm("Ciclo de Atención"+i +"aún no esta definido.\n" + "Desea continuar?");
if(resp)
{
control[0]=true;
arrVerificar[i] = true;
bandera[i] = true;
alert("banda"+i+bandera[i]);
continue;
}
else
{
arrVerificar[i] = false;
bandera[i] = false;
alert("banda"+i+bandera[i]);
return false;
}
}
else{
arrVerificar[i] = true;
continue;
}
}
alert("sss"+i+bandera[i]);
}
if(isEmpty(document.myform.presupuesto.value))
{
arrVerificar[2] = false;
document.myform.presupuesto.style.backgroundColor = "#ffffcc";
}
else {
arrVerificar[2] = true
document.myform.presupuesto.style.backgroundColor = "white";
}
var inc =0;
for(za=0;za<3;za++)
{alert("za"+za+arrVerificar[za]);
if(arrVerificar[za] == true)
inc++;
}
if(inc == 3)
//final
return true;
else return false;
alert("c"+control[0]);--->aquí debería aparecer el nuevo valor pero no cambia
}
</script>
Espero me puedan ayudar y no se a de mucha molestia que ponga tanto código.