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:
Espero me puedan ayudar y no se a de mucha molestia que ponga tanto 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>