Newsgroup: it.comp.lang.javascript
Titolo: Problemi con IF(x,y)

Salve a tutti,
sono alle prime armi con js e IF non riesco proprio ad usarlo
avrei bisogno verificare la suddetta condizione:
0<X<y  con Y<20
se è verificata allora esegue la funzione (es. ) calcola (x*y)
altrimenti se non è verificata mi restituisce errore su di un alert("valore
errato"+errore( )) "
contenete il nome della variabile, ho fatto così ma non credo di aver fatto
bene
function prodotto(x,y){
    if (x <=0){return alert ("errore x troop piccolo")}
    else if  (x>=y) {return  alert ("errore x troop grande")}
        else return x
    if (y>=20) {return  alert ("errore x troop piccolo"))
    else return y
var prodotto=1
prodotto *= (x*y)
}
-supplemeto-
sto tentando di programmare correttamente una form,
Vi spiego il problema: una volta creata la form con due o più input x e y,
come faccio poi a darli in pasto alla mia funzione che moltiplica i due
valori? (vedi sopra)
e poi come posso vederli sulla pagina html il risultato?
Grazie in anticipo Paolo

 e poi come posso vederli sulla pagina html il risultato?
nella tua form metti onsubmit='return false'; (non ti serve processare la
form)
Poi metti un <div id='totale'></div>
Poi metti un tasto che onclick chiami la tua function, es.
onclick='prodotto(document.forms["nometuaform"].elements["nometuax"].value,d
ocument.forms["nometuaform"].elements["nometuay"].value)'
Infine nella tua function anziché mettere il return metti un bel
document.getElementById('totale').innerHTML=x*y;

 document.getElementById('totale').innerHTML=x*y;
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="it-IT">
<head>
<SCRIPT type="text/javascript">
// ho creato due funzioni, una che effettua il prodotto (questa)
// e una che la assegna (credo) alla form
function prodotto(x,y){
    if (x <=0){return alert ("errore x troppo piccolo")}
    else if  (x>=y) {return  alert ("errore x troop grande")}
        else return // cosa ci devo mettere qui?
    if (y>=20) {return  alert ("errore x troop piccolo"))
    else return
return (x*y) // intendevi cosě?
}
function calcola (modulo) {
  //acquisizione dati x,y dall'input giusto?
  x = modulo.x.value - 0;
    y = modulo.y.value - 0;
    //consegno i dati a pro
  pro = prodotto (x,y);
  //scrivo il risultato in pro giusto?
  modulo.pro.value = pro;
 }
</script>
</head>
<!-- ~~Body~~~~~-->
<body>
<H1>prodotto x*y</H1>
<FORM><!--====inizio form ==== --> <!-- //(mi sembra piů facile)  -->
<H2>qui comincia la tag&lt;form&gt;</H2>
<P>Testo dentro form X! input2 <input id="x" name="x" value=1> </P>
<P>Testo dentro form Y! input3 <input id="y" name="y" value=1> </P>
<P></P><P></P>
<INPUT id="pro" name="pro">
<BUTTON onclick=calcola(this.form);>Sono dentro il bottone</BUTTON>
</FORM>
</body>

   modulo.pro.value = pro;
Giusto; puoi farlo anche direttamente (non serve dichiarare una variabile
pro): modulo.pro.value=prodotto(x,y);
Se usi un tag input l'utente potrebbe confondersi (pensa magari che deve/puň
scriverci qualcosa), mentre con div (o qualsiasi altro tag) l'utente non puň
scriverci.

 scriverci.

 prima, dell'altra?
Esatto, se non puoi toccare la function ne fai un'altra che verifica tutte
le condizioni e, se tutto ok, chiama la seconda.