La idea de la primera opcion es:
Código:
...
<span id="botonescondido" style="display:none">...elboton type submid...</span>
....
la funcion de validación:
Código:
function valida(){
var havalidado=false;
... lo que sea ... si cumple havalidado=true si no dejas havalidado como estaba.
if (havalidado){
document.getElementById("botonescondido").style.display="block";
}else{
document.getElementById("botonescondido").style.display="none";
}
}
en cada input que pueda modificar la condicion de validado
<input ....
onBlur="valida()" >
(onBlur se produce quando el input pierde el foco... para hacerlo facil el ultimo input mejor que no tenga que validar nada puesto que si no hay un input siguiente en firefox da problemas)
en el momento que se cumplan las condiciones para mandar el form el boton aparecera y se podra hacer click y el evento onSubmid se producira.
(en "CONTACTE" de
http://www.iscinformatica.cat funciona con la primera opción,
pero NO empiezes a mandar mensajes a la pobre jente de ISC)
Ahora la segunda opcion es mas sencilla y funciona puesto que en el momento que haces form.submid() estas mandando el formulario con los parametros, en realidad estas ejecutando la action que tengas definida en el form y los parametros iran por el metodo post, y despues abriras el popup con la funcion siguiente que te he puesto, por supuesto que no tienes que poner nada en el onSubmid en este caso.
Código:
function ValidaMandaiPop(form){
if (validaropt(form)){ //<--aqui valida
form.submid(); //<--aqui manda el form
//popUpsave2('./contenido/anuncio/grabaranun1.php', 'ventana', '300','300','0');
}else{
alert ("No se puede mandar el formulario porque no cumple lo esperado");
}
Perdón no me habia fijado que llamabas al mismo fichero desde el action, que desde onSubmid="popUpsave2..." ufff luego tienes otro problema, porque action va a abrir /contenido/anuncio/grabaranun1.php en la ventana donde estes y popUpsave2 en una nueva.... pero esto te pasara tanto en la opcion uno como en la dos... yo me dejaria de popups y dejaria que desaparezca el formulario y aparezca el contenido de /contenido/anuncio/grabaranun1.php una vez evaluados los parametros...
Quim