Newsgroup: it.comp.lang.javascript
Titolo: passare dati di un form a script js

Ciao a tutti. Ho appena iniziato a studiare javascript e volevo sapere 
come si possono inviare i dati di un form ad uno script javascript 
esterno. L'ho già fatto in php, ma non riesco a farlo anche in javascript.
Questo è il codice html:
<html>
<title>calcolatrice in javascript</title>
<body>
<br><br>
<table align="center">
<td>
<form action="calcola.js" method="POST">
inserisci primo numero
<br><br>
<input type="text" name="numero1" value="numero1">
<br><br>
inserisci secondo numero
<br><br>
<input type="text" name="numero2" value="numero2">
<br><br>
<input type="submit" value="somma">
</td>
</table>
</body>
</html>
e questo il codice javascript:
<script type="text/javascript">
alert($_POST["numero1"] + $_POST["numero2"]);
</script>
devo usare il tag <script> o posso ometterlo?
  Potete aiutarmi? Grazie in anticipo.

 <form action="calcola.js" method="POST">
Stai usando un file statico javascript come azione di un form?? Cosa vuoi
ottenere esattamente?
-- 
Quello che io penso sia utile è di avere il governo il più vicino
possibile a me e lo stato, se proprio non se ne può fare a meno,
il più lontano possibile dai coglioni. (Fabrizio De André)

 
semplicemente voglio visualizzare la somma dei valori inseriti nel form.

Javascript viene eseguito all'interno del browser, come dice maestro
delphine non puoi usare un file js come se fosse un file php,
all'interno dell'attributo action.
A rigore non hai nemmeno bisogno di eseguire una submit, una delle
infinite varianti può essere (non l'ho testata, più o meno dovrebbe
andare)
<html>
<head>
<title>titolo</title>
<script type="text/javascript">
    var calcola = function(){
        var f = document.forms[0];
        alert(parseInt(f.numero1) + parseInt(f.numero2));
    };
    var startup = function(){
        document.getElementById('somma').onclick = calcola;
    };
window.onload = startup;
</script>
</head>
<body>
<form...
...
    <input type="button" id="somma" name="somma" value="somma />
...
</form>
</body>
</html>
   nic

 semplicemente voglio visualizzare la somma dei valori inseriti nel form.
il contesto di esecuzione di javascript e' la finestra corrente, quindi non
hai bisogno di effettuare una richiesta HTTP addizionale come richiesto da
tecnologie lato server per pagine web dinamiche.
Puoi eseguire funzioni javascript in risposta ad eventi generati da
elementi della pagina, ad esempio la pressione di un pulsante, come
illustrato nell'esempio di nic.
-- 
Quello che io penso sia utile č di avere il governo il piů vicino
possibile a me e lo stato, se proprio non se ne puň fare a meno,
il piů lontano possibile dai coglioni. (Fabrizio De André)

         alert(parseInt(f.numero1) + parseInt(f.numero2));
se non referenzi la proprieta' .value dei due elementi input, non otterrai
buoni numeri ;)
Inoltre e' bene passare 10 come secondo parametro (la base della
rappresentazione numerica) altrimenti numeri con uno zero iniziale
sarebbero interpretati come ottali:
alert(parseInt(f.numero1.value, 10) + parseInt(f.numero2.value, 10));


Eh eh,
certo ma(e)stro delphin, lo script l'ho buttato giù senza pensare;
arrivato a questo punto della giornata ho smesso da un pezzo! ;)
   nic

    nic
L' ho scritto in questo modo:
<html>
<head>
<title>titolo</title>
<script type="text/javascript">
     var calcola = function(){
         var f = document.forms[0];
         alert(parseInt(f.numero1) + parseInt(f.numero2));
     };
     var startup = function(){
         document.getElementById('somma').onclick = calcola;
     };
window.onload = startup;
</script>
</head>
<body>
<form>
inserisci primo numero
<br><br>
<input type="text" name="numero1" value="numero1">
<br><br>
inserisci secondo numero
<br><br>
<input type="text" name="numero2" value="numero2">
<br><br>
<input type="button" id="somma" name="somma" value="somma">
</form>
</body>
</html>
ma la finestra mi restituisce il messaggio "NaN"
Grazie per l'aiuto, ad ogni modo devo consultare un buon manuale: mi 
sembra più complicato rispetto al php, e non ho esperienza con la 
programmazione a oggetti, solo con quella procedurale...

Come suggerisce mastro delphine, sostituisci l'alert precedente con
alert(parseInt(f.numero1.value, 10) + parseInt(f.numero2.value, 10));
e dovrebbe funzionare.

 e dovrebbe funzionare.
Ok, adesso funziona, grazie a entrambi.