Mi rivolo a voi guru di scripting ...
Ho un form con 2 submit, uno per confermare e uno per vedere l'anteprima, e nell'onsubmit del form chiama la funzione js di controllo, ovvero ecco il codice:
js di controllo:
codice:
function News(f) {
var msgErrore = '';
var titolo=f.titolo;
var testo=f.Message;
var inhome=f.inhome
var archivio=f.archivio
if (titolo.value == "")
{ msgErrore+="- Titolo è obbligatorio.\r"; }
else
{
if ((titolo.value.replace(/\s*/gi,'') == '') || (titolo.value.replace(/\x13\x10*/gi,'') == ''))
{ msgErrore+="- Titolo è obbligatorio e non può essere vuoto.\r"; }
}
if (testo.value == "")
{ msgErrore+="- Testo è obbligatorio.\r"; }
else
{
if ((testo.value.replace(/\s*/gi,'') == '') || (testo.value.replace(/\x13\x10*/gi,'') == ''))
{ msgErrore+="- Testo è obbligatorio e non può essere vuoto.\r"; }
}
if (inhome.options[inhome.selectedIndex].value=="S" && archivio.options[archivio.selectedIndex].value=="S")
{ msgErrore+="- News non può essere in home ed in archivio.\r"; }
if (msgErrore != '')
{
msgErrore = "Si sono verificati i seguenti errori:\r\r" + msgErrore;
alert(msgErrore);
return false;
}
return true;
}
js di apertura popup:
codice:
function Anteprima(theURL,winName,features) {
window.open(theURL,winName,features);
}
porzioni di codice del form:
codice:
<form method="POST" name="PostTopic" id="PostTopic" onSubmit="return News(this);">
<input type="submit" name="Submit" value="Aggiorna" onClick="PostTopic.action='adm_news_edit_ok.asp';PostTopic.target='_self'">
<input type="submit" name="Submit2" value="Anteprima" onClick=" Anteprima('about%20:blank','anteprima','
scrollbars=yes,width=800,height=500');Po
stTopic.action='adm_anteprima.asp';PostTopic.target='anteprima';">
così com'è però quando si fa l'anteprima da qualche errore, ovvero se il js di controllo da true, da l'alert ma apre lo stesso la popup dell'anteprima
c'è un modo per far si che:
- se si spinge il pulsante "Aggiorna" fa il controllo, se è ok va alla pagina di submit (e lo sembra fare)
- se si spinge il pulsante anteprima fa il controllo, se è ok apre la popup (cosa che ora non fa e la apre lo stesso)
in pratica fare in modo che cmq se cìè un errore non apra la popup .. adesso così com'è me la apre lo stesso :|