PDA

View Full Version : [HTML - javascript] Visualizzare una variabile "select"


$te
06-12-2012, 19:32
Salve,
sto creando un form e avrei questa necessita:
ho un menu a cascata (select) con un valore. In funzione della selezione, vorrei printare una frase.

Ho cercato ma non so come fare, e soprattutto vorrei visualizzar ela variabile subito, senza dover cliccare su un ulteriore bottone!
Non so anche come manipolare la variabile.

Sapete indicarmi almeno un sito utile?

grazie!!

Gaiden80
06-12-2012, 21:07
basta usare l'onchange, ti copio una funzione trovata al volo

<select onChange="jsFunction()" id="selectOpt">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

function jsFunction(){
var myselect = document.getElementById("selectOpt");
alert(myselect.options[myselect.selectedIndex].value);
}

$te
07-12-2012, 11:35
basta usare l'onchange, ti copio una funzione trovata al volo

<select onChange="jsFunction()" id="selectOpt">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

function jsFunction(){
var myselect = document.getElementById("selectOpt");
alert(myselect.options[myselect.selectedIndex].value);
}

é possibile fare il tutto in html, senza dover creare uno script javascript nel head?

Perché ad es. vorrei semplicemente printare un valore, che calcolo:

<input type="button" value="Costo" onclick="this.form.adultcost.value=this.form.buoni.value*20;
this.form.sconto.value=this.form.buoni.value*3;">

printare 'adultcost' e 'sconto', con sconto in percentuale....
non so se mi spiego.


grazie!!

wingman87
07-12-2012, 12:10
In verità lo script non devi necessariamente includerlo nell'head. Comunque puoi anche scrivere tutto inline come nel tuo esempio.

$te
08-12-2012, 23:00
In verità lo script non devi necessariamente includerlo nell'head. Comunque puoi anche scrivere tutto inline come nel tuo esempio.

ora il mio problema é che non riesco a richiamare una funzione javascript scritta nel head!!
la richiamo cosi:

<input type="button" value="Calcola" onclick="this.form.buono.value = metodo(this.form.area.value, this.form.buoni.value">

ma nn funziona!! (perché poi printo il valore buono, ma non accade nulla).

la funzione é:

<script type="text/javascript">

function metodo(buoni, posta) {

buoni = buoni*20;

if(posta == "Documento elettronico (PDF)"){
buoni = buoni; }
else { buoni = buoni + 3;}

return buoni;
}
</script>


sapete aiutarmi??

grazie!!

AllerITA
09-12-2012, 07:32
Ti volevo far osservare che manca la chiusura della parentesi della chiamata alla funzione. Ti consiglio di utilizzare lo script debugger del browser che stai utilizzando: ad esempio su explorer c'e' in strumenti di sviluppo un debugger per gli script e altri componenti.:D

$te
09-12-2012, 08:11
Ti volevo far osservare che manca la chiusura della parentesi della chiamata alla funzione. Ti consiglio di utilizzare lo script debugger del browser che stai utilizzando: ad esempio su explorer c'e' in strumenti di sviluppo un debugger per gli script e altri componenti.:D

grazie per l'info!
alla fine il problema era dato dal radio botton...che bisogna trattare differentemente.


Ne approfitto per chiedere un'altra cosa:
vorrei che, quando la persona compila il suo bel form, io riceva una email con allegato un file pdf contenente i suo dati....
sapete se esiste un plugin o simile capace di farlo?

grazie!!

Gaiden80
09-12-2012, 11:35
prova itextsharp
http://sourceforge.net/projects/itextsharp/

mi ricordo che l'ho usato un paio di anni fa e funzionava benone