E' possibile far comparire una scritta in un div al cambio di un valore di un form text???

franco1706

Nuovo Utente
15 Dic 2005
8
0
0
Sono alle prime armi con javascript.

Questo è il mio file:

<script type="text/javascript">

function startCalc(){
interval = setInterval("calc()",1);
}

function stopCalc(){
clearInterval(interval);
}
function calc(){
A1 = document.autoSumForm.qta.value;
A2 = document.autoSumForm.importo.value;
document.autoSumForm.totale.value = ( A1 * 1)*( A2 * 1) ;

}
</script>

<body>
<form name="autoSumForm">
<style type="text/css">
div.campi { float:left; }
</style>
<div class="esempio" >qta <input type="text" name="qta" value="6" onFocus="startCalc();"onBlur="stopCalc();" > x
importo <input type="text" name="importo" value="2" onFocus="startCalc();"onBlur="stopCalc();">
= <input type="text" name="totale" value="12" > Totale </form>
</div>
<div style="clear:both;" /></div>
<div id="cambia">NO</div>

</body>


Ho messo l'essenziale tralasciando il resto dei fogli di stile.
Vorrei che quando si modifica il campo qta o importo (Il totale si aggiorna automaticamente e funziona) nel campo id=cambia appaia :
<button type=\"submit\" >Invia</button>

Già ho dei dubbi su cosa utilizzare nel codice HTML nei form qta e totale, usare
onkeypress="miafunzione(qta,6)" oppure onMouseOver="miafunzione(qta,6)” e per l'importo
onkeypress="miafunzione(totale,2)" oppure onMouseOver="miafunzione(totale,2)” ?????
Poi ho tentato a creare del codice javascript
function miafunzione(campo,qta)
{
var c = campo;
var q = qta ;
ma qui iniziano i miei dubbi. Cosa dovrei fare???
Pensavo a una cosa del genere.
If( q != valore nuovo (ma come farglielo capire?!?)
{
document.autoSumForm.cambia.value = “<button type=\"submit\" >Invia</button> “;
}


Sono ai primi passi , mi piacerebbe capire come e se è possibile !!
Grazie Franco
 
Ultima modifica:
Ho fatto un passo avanti ma ho bisogno ancora del Vs aiuto.
Scrivendo questa funzione javascript
function Controlli(formname,qta1)
{

var f = formname;
var s = qta1;
var c = document.autoSumForm.qta.value ;

if( c != s) { document.getElementById('cambia').innerHTML= "<button type='submit' >Invia</button> "; }
else if ( c == s) { document.getElementById('cambia').innerHTML= "NO"; }


}

riesco ad avere il controllo sul campo qta.
Chiedo :
dove c'è scritto var c = document.autoSumForm.qta.value ;
come posso far capire che il valore .qta. deve invece essere il valore della
variabile var f = formname;
che poi in questo caso specifico è sempre qta ????
Ho provato in vari modi (e qui si vede che conosco poco javascript)
var c = document.autoSumForm.f.value ; var c = "document.autoSumForm."+f +".value ;
ma o ottengo un errore oppure la var c invece di prendere valore 6 mi prende il valore come se fosse una stringa (document.autoSumForm.qta.value)

Suggerimenti???
Grazie
 
Ultima modifica:
e vai..... :elvis: anzi eval()

ecco dovera la soluzione che cercavo.

in pratica la funzione che mi serviva (anche se adesso dovrò un filino aggiustarla) è così ;

function Controlli(formname,qta1)
{

var f = formname;
var s = qta1;
var c = eval("document.autoSumForm."+ f + ".value) ;

if( c != s) { document.getElementById('cambia').innerHTML= "<button type='submit' >Invia</button> "; }
else if ( c == s) { document.getElementById('cambia').innerHTML= "NO"; }


}


Bene anche se non ho avuto dei contributi ringrazio tutti quelli che hanno scritto sul forum perchè spulciando le varie risposte alla fine ho trovato il comando che mi serviva.
 

Discussioni simili