Código:
function actualizar() { var myForm = document.createElement("form"); myForm.method = "post"; myForm.action = obtener_nombre_pagina(); var id_habitacion = <?php echo $id_habitacion; ?>; var mes = document.calgen.sel_mes.options[document.calgen.sel_mes.selectedIndex].value; var anho = document.calgen.sel_anho.options[document.calgen.sel_anho.selectedIndex].value; for (i=1;i<=3;i++) { var myInput = document.createElement("input") ; switch(i) { case 1: myInput.setAttribute("name", "id_habitacion"); myInput.setAttribute("value", id_habitacion); break; case 2: myInput.setAttribute("name", "mes"); myInput.setAttribute("value", mes); break; case 3: myInput.setAttribute("name", "anho"); myInput.setAttribute("value", anho); break; } myForm.appendChild(myInput); }; var total_actu = 0; for(i=0; i<=document.all.item("actu").length - 1; i++) { if (document.calgen.actu[i].checked) { total_actu = total_actu + 1; }; }; if (document.getElementById("calgenasigs") != null) { for(i=0; i<=document.all.item("asig").length - 1; i++) { var actualizar = false; if (total_actu == 0) { actualizar = true; } else { if (document.calgen.actu[i].checked) { actualizar = true; } } if (actualizar) { var min_asig = 0; var max_asig = 999; if ( (isNaN(Number(document.calgen.asig[i].value)) == true) || (isNaN(parseInt(document.calgen.asig[i].value)) == true) ) { alert("Todos los días a actualizar deben tener un NUMERO ASIGNADO entre " + min_asig + " y " + max_asig + "."); return; }; if ( (parseInt(document.calgen.asig[i].value) < min_asig) || (parseInt(document.calgen.asig[i].value) > max_asig) ) { alert("Todos los días a actualizar deben tener un NUMERO ASIGNADO mayor que " + min_asig + " y menor " + max_asig + "."); return; }; var myInput = document.createElement("input") ; myInput.setAttribute("name", document.calgen.asig[i].id); myInput.setAttribute("value", document.calgen.asig[i].value); myForm.appendChild(myInput); }; }; }; if (document.getElementById("calgenesmis") != null) { for(i=0; i<=document.all.item("esmi").length - 1; i++) { var actualizar = false; if (total_actu == 0) { actualizar = true; } else { if (document.calgen.actu[i].checked) { actualizar = true; } } if (actualizar) { var min_esmi = 0; var max_esmi = 999; if ( (isNaN(Number(document.calgen.esmi[i].value)) == true) || (isNaN(parseInt(document.calgen.esmi[i].value)) == true) ) { alert("Todos los días a actualizar deben tener una ESTANCIA MINIMA entre " + min_esmi + " y " + max_esmi + "."); return; }; if ( (parseInt(document.calgen.esmi[i].value) < min_esmi) || (parseInt(document.calgen.esmi[i].value) > max_esmi) ) { alert("Todos los días a actualizar deben tener una ESTANCIA MINIMA mayor que " + min_esmi + " y menor " + max_esmi + "."); return; }; var myInput = document.createElement("input") ; myInput.setAttribute("name", document.calgen.esmi[i].id); myInput.setAttribute("value", document.calgen.esmi[i].value); myForm.appendChild(myInput); }; }; }; if (document.getElementById("calgentarns") != null) { for(i=0; i<=document.all.item("tarn").length - 1; i++) { var actualizar = false; if (total_actu == 0) { actualizar = true; } else { if (document.calgen.actu[i].checked) { actualizar = true; } } if (actualizar) { var min_tarn = 0; var max_tarn = 9999; if ( (isNaN(Number(document.calgen.tarn[i].value)) == true) || (isNaN(parseInt(document.calgen.tarn[i].value)) == true) ) { alert("Todos los días a actualizar deben tener una TARIFA NORMAL entre " + min_tarn + " y " + max_tarn + "."); return; }; if ( (parseInt(document.calgen.tarn[i].value) < min_tarn) || (parseInt(document.calgen.tarn[i].value) > max_tarn) ) { alert("Todos los días a actualizar deben tener una TARIFA NORMAL mayor que " + min_tarn + " y menor " + max_tarn + "."); return; }; var myInput = document.createElement("input") ; myInput.setAttribute("name", document.calgen.tarn[i].id); myInput.setAttribute("value", document.calgen.tarn[i].value); myForm.appendChild(myInput); } }; }; if (document.getElementById("calgentaros") != null) { for(i=0; i<=document.all.item("taro").length - 1; i++) { var actualizar = false; if (total_actu == 0) { actualizar = true; } else { if (document.calgen.actu[i].checked) { actualizar = true; } } if (actualizar) { var min_taro = 0; var max_taro = 9999; if ( (isNaN(Number(document.calgen.taro[i].value)) == true) || (isNaN(parseInt(document.calgen.taro[i].value)) == true) ) { alert("Todos los días a actualizar deben tener una TARIFA OFERTA entre " + min_taro + " y " + max_taro + "."); return; }; if ( (parseInt(document.calgen.taro[i].value) < min_taro) || (parseInt(document.calgen.taro[i].value) > max_taro) ) { alert("Todos los días a actualizar deben tener una TARIFA OFERTA mayor que " + min_taro + " y menor " + max_taro + "."); return; }; if ( parseInt(document.calgen.taro[i].value) > parseInt(document.calgen.tarn[i].value) ) { alert("Todos los días a actualizar deben tener una TARIFA OFERTA menor o igual que la TARIFA NORMAL."); return; }; var myInput = document.createElement("input") ; myInput.setAttribute("name", document.calgen.taro[i].id); myInput.setAttribute("value", document.calgen.taro[i].value); myForm.appendChild(myInput); } }; }; if (document.getElementById("calgenbloq") != null) { for(i=0; i<=document.all.item("bloq").length - 1; i++) { var actualizar = false; if (total_actu == 0) { actualizar = true; } else { if (document.calgen.actu[i].checked) { actualizar = true; } } if (actualizar) { var myInput = document.createElement("input") ; myInput.setAttribute("name", document.calgen.bloq[i].id); myInput.setAttribute("value", document.calgen.bloq[i].options[document.calgen.bloq[i].selectedIndex].value); myForm.appendChild(myInput); } }; }; document.body.appendChild(myForm); myForm.submit() ; document.body.removeChild(myForm); }