Newsgroup: it.comp.lang.javascript
Titolo: Un comportamento strano....

Ciao a tutti,
ho un problema con queste righe di codice (riporto):
              <form name="form1" method="get" onSubmit="return privacy();
validate()" action="ordine.html" target="fin">
                 etc etc etc
                    <input name="Conferma" type="submit" id="Conferma2"
value="Vai al modulo d'Ordine" />
                    <input name="Annulla" type="reset" id="Annulla"
value="Annulla" />
              </form>
dove le procedure: validate() e privacy() sono definite come segue:
function Validate() {
fin=window.open('about:blank','fin','scrollbars=no,resizable=no,width=600,he
ight=400,status=no,location=no,toolbar=no');
 }
 function privacy() {
  if (document.form1.checkprivacy.checked==false) {
    alert('Messaggio');
    return false;
   }
  else
    return true;
 }
Il problema è che quando clicco su: "Vai al modulo d'ordine" mi apre una
finestra indipendente correttamente ma non applica le impostazioni che ho
passato tramite validate() ovvero:
'scrollbars=no,resizable=no,width=600,height=400,status=no,location=no,toolb
ar=no'
Chi può dirmi dove sta l'errore? ed eventualmente come fare per correggerlo?
Ringrazio anticipatamente per le risposte, Cordialmente, Cooper.
--
------------------------------------
Impastato Marcello
 [Web] 
http://www.blueware.it
 [Email] 
coo...@blueware.it
 [icq] 146781935
 [Irc] 
irc.azzurra.org
 - #chatlandia, #blueware

 function Validate() {
-----------^
hai provato con la v minuscola?
-- 
Have a nice day. Ro!
http://www.risorse.net

 ha scritto nel messaggio
news:thMca.11520$Fc.3...@tornado.fastwebnet.it...

 Affermativo, stesso problema :(
non ho provato il codice, ma a che ti serve? la popup vuoi aprirla 
sempre? sia che quel campo su cui fai la verifica sia checked o meno? 
oppure solo quando il campo è checked oppure solo qnd non lo è...
perché al max ci fai un:
onsubmit="return privacy();"
e in privacy aggiungi:
return window.open("bla","bla","bla bla");



la popup va aperta solo nel momento in cui privacy() è true. Chiaramente se
privacy() è false no. Non lo metto dentro privacy() per una questione di
tecnica..... ogni sottoprogramma definisce una specifica funzione, non ha
senso che incorpori una funzione distinta all'interno di un sottoprogramma
che si occupa di ben altro........ supponi che quella funzione per esempio
sia usata in parti diverse dove in alcune di queste non è richiesta
l'apertura della popup?  secondo la tua ipotesi dovrei scrivere allora due
funzioni uguali meno che per quella riga? non avrebbe senzo, si andrebbe
incontro a codice non ottimizzato... ecco il motivo per cui è messa separata
dalla function stessa.


 dalla function stessa.
e se richiamassi la funzione all'interno dell'else?



Sono due funzioni separate, non posso inglobarle... anche perchč in una
pagina si richiede solo il controllo, e nell'altra il controllo e l'apertura
della popup.... che dovrei fare una function uguale per ogni funzione
distinta? non ha senso...
....cmq ho provato anche cosi ma niente da fare :(
Cooper.


 distinta? non ha senso...
no, nell'else fai:
return validate();


 Ringrazio anticipatamente per le risposte, Cordialmente, Cooper.
Non ne esci cosi' come hai fatto ed hai discusso con Roberto.
"return privacy();" e' un'istruzione, "validate()" e' un'altra (a parte 
l'errore di sintassi nel case).
Quando privacy() ti da il responso il form parte o non parte, 
indipendentemente da quel che succede in validate() che viene comunque 
eseguita prima che venga eseguito il submit.
Prova cosi':
<form ... onsubmit="return privacy()&&validate()" ...>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .


Ho risolto spostando il tutto sul button di conferma (la funzione validate
sul bottone di conferma (evento click)). In ogni caso mi sembra di capire
che l'evento submit accetti solo un valore booleano... ed ecco il vero
errore che ho commesso, se cosi fosse.


 errore che ho commesso, se cosi fosse.
Infatti, per questo io ti suggerivo "return fun1()&&fun2()"
E' da provare pero'.
