Newsgroup: it.comp.lang.javascript
Titolo: Alert in NN e IE: quasi uguali, ma non identici

Salve.
Che i due browser abbiano comportamenti diversi e' cosa nota, tuttavia,
nel caso che sto per sottoporvi, la questione mi appare non poco strana.
Lo script fila liscio tanto su NN quanto su IE; piccolo dettaglio: sul
primo viene ignorato l'alert riferito a <select name="catalogo">, tutto
il resto e' in ordine. Ne sapete qualcosa?
Ridotto all'osso:
<html>
<head>
<title>Richiesta catalogo</title>
<SCRIPT LANGUAGE="JavaScript">
//<!-
function verificare_il_form(form) {
if (form.catalogo.value == "Seleziona") {
  alert ("E' indispensabile effettuare la scelta del catalogo");
  return false;
} else if (form.nome.value == "") {
  alert("Non hai inserito il tuo nome");
  return false;
} else if (form.email.value == "") {
  alert ("Per inviarti il catalogo occorre un indirizzo e-mail");
  return false;
} else if (form.email.value.indexOf('@', 0) == -1) {
  alert("Il tuo indirizzo e-mail non appare corretto");
  return false;
} else if (form.email.value.indexOf('.', 0) == -1) {
  alert("Il tuo indirizzo e-mail non appare corretto");
  return false;
}
return true;
}
// ->
</SCRIPT>
</head>
<body> 
<form method=POST action="
http://www.ecc/cgi
" 
onSubmit="return verificare_il_form(this);">
Per ricevere via e-mail il catalogo desiderato, seleziona una voce dal
menu:
<p> 
<select name="catalogo">
<option value="Seleziona">seleziona</option>
<option value="Birre">Birre</option>
<option value="Gazzose">Gazzose</option>
<option value="Aranciate">Aranciate</option>
</select>
<p>
il tuo nome:&nbsp;<input type="text" name="nome" size="40">
<p>
il tuo indirizzo e-mail:&nbsp;<input type="text" name="email" size="40">
<p>
<input type="submit" value="Invia la richiesta">
<input type="hidden" name="subject" value="richiesta di catalogo">
<input type="hidden" name="mailto" value="mailto:
m...@stesso.it
">
<input type="hidden" name="redirect" value="
http://www.ecc/tnx.htm
">
</form>
</body>
</html>
------------
Domanda OT. Il redirect agisce solo se l'URL e' assoluto, col relativo
non vuol saperne. E' normale?
TIA 
Marco Catarsi
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 il resto e' in ordine. Ne sapete qualcosa?
NN ha ragione, una select non ha value. Devi valutarne il selectedIndex:
if (document.nomeform.catalogo.selectedIndex < 2) {
}
-- 
Oramai che i baci tuoi piu` non mi sazian
cerchero` un'altra donna dentro ai sogni di Tarzan

 if (document.nomeform.catalogo.selectedIndex < 2) {
Giusto, ora funziona. Minuscola correzione:    < 1) { 
e tutto e' a posto. TY


 Giusto, ora funziona. Minuscola correzione:    < 1) { 
Right. Tieni anche presente che nel tuo script c'era IMHO un errore, che
era qello di definire nel controllo "form" come oggetto (per IE form e`
un element sia della window che del document, quindi rischi confusioni).
Rinominalo:
function verificare_il_form(foo) {
if (foo.catalogo.selectedIndex < 1) {
  alert ("E' indispensabile effettuare la scelta del catalogo");
  return false;
} else if (foo.nome.value == "") {
  alert("Non hai inserito il tuo nome");
  return false;
 ....


 Rinominalo:
Fatto. Tutto ok :)
