Ciao a tutti, come faccio con javascript a leggere il contenuto di un campo: <INPUT class=textFieldIns size=17 value="" name=ricambio>
Grazie
Ciao a tutti, come faccio con javascript a leggere il contenuto di un campo: <INPUT class=textFieldIns size=17 value="" name=ricambio>
Grazie
ciaocodice:var valore=document.nomeform.nomecampo.value;
Non sono stato chiarissimo, ho una funzione del tipo:
function aggiungi(){
var out = "<label class=textdefault9Bold>Codice :</label> "+
"<INPUT class=textFieldIns size=17 value='' name=ricambio"+numero_codici+"> "+
"<INPUT class=ButtonGREY "+
"style='WIDTH: 32px' "+
"type=button "+
"value='View' "+
"name='view'> "+
"<label class=textdefault9Bold>Descrizione :</label> "+
"<INPUT class=textFieldIns size=70 value='' name=descrizione> "+
"<label class=textdefault9Bold>QTY :</label> "+
"<INPUT class=textFieldIns size=6 value=1 name=qty>
";
document.getElementById("codici").innerHTML+=out;
numero_codici++;
num = String(numero_codici);
sotto = document.forms[0].ricambio+num.value;
alert(sotto);
}
e dovrei leggere i diversi valori inseriti di volta in volta, ma ritorna NaN.
Dove sbaglio?
Grazie
Se interpreto correttamente, manca il tipo del campo di nome ricambioXX. Non so se poi JS e` in grado di ricavare il value.
Inoltre mancano anche tutti gli apici attorno ai valori degli attributi, per cui qualche browser potrebbe interpretare male:
"<INPUT class='textFieldIns' size='17' value='' name='ricambio"+numero_codici+"' type='text'> "+
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Anche aggiungendo type='text' non cambia nulla. Il problema è che non riesco a dare un nome dinamico ai vari campi di testo che creo passo dopo passo: inizialmente il campo si chiama ricambio0, poi viene creato un nuovo campo di nome ricambio1 e così via...
cioè ricambio+numero_codici, dove numero_codici è la variabile trasformata in stringa, che conta il numero di campi.
Ad ogni ciclo devo leggere il valore del campo:
inu = document.getElementById("ricambio0").value;
inu = document.getElementById("ricambio+numero_codici"). value;
Come posso fare?
Adesso ho capito il problema.
Intanto un consiglio sulla sintassi:
var sotto = document.forms[0].elements['ricambio'+numero].value;
Poi puoi testare:Alla fine del loop la varibile sotto contiene il value dell'ultimo campo con nome ricambioXX.codice:var sotto; for var(i=0; ;i++) { if(document.forms[0].elements['ricambio'+i]) { sotto = document.forms[0].elements['ricambio'+i].value; } else { break; } }
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Questa è la funzione per creare dinamicamente i campi e assegnargli il nome; il problema è che non riesco a leggere i valori nei campi creati.
Il primo campo, quello di nome 'ricambio0', viene creato in Html
all'apertura della pagina, mentre i sucessivi dalla funzione javascript. Il contenuto del campo ricambio0 è letto correttamente dalla funzione, mentre i sucessivi no.
Potresti darci un'occhiata? Grazie tante
function aggiungi(){
num1 = String(numero_codici);
alert(num1);
var out = "<label class=textdefault9Bold>Codice :</label> "+
"<INPUT type='text' class='textFieldIns' size='17' nome='ricambio'"+num1+"> "+
"<INPUT class='ButtonGREY' "+
"style='WIDTH: 32px' "+
"type='button' "+
"value='View' "+
"name='view'> "+
"<label class=textdefault9Bold>Descrizione :</label> "+
"<INPUT class=textFieldIns size=70 value='' name=descrizione> "+
"<label class=textdefault9Bold>QTY :</label> "+
"<INPUT class=textFieldIns size=6 value=1 name=qty>
";
document.getElementById("codici").innerHTML+=out;
num = String(numero_codici-1);
alert(num);
inu = document.forms[0].elements['ricambio'+num].value;
alert(inu);
numero_codici++;
}
Prova con queste modifiche:
Ho sistemato un attributo "nome" (che non esiste), vari apici e soprattutto il name del primo input (che era scritto sbagliato, con un apice in mezzo).codice:function aggiungi(){ var num1 = String(numero_codici); alert(num1); var out = "<label class='textdefault9Bold'>Codice :</label> "; out += "<input type='text' class='textFieldIns' size='17' name='ricambio"+num1+"'> "; out += "<input class='ButtonGREY' style='WIDTH: 32px;' type='button' value='View' name='view'> "; out += "<label class='textdefault9Bold'>Descrizione :</label> "; out += "<input class='textFieldIns' size='70' value='' name='descrizione'> "; out += "<label class='textdefault9Bold'>QTY :</label> "; out += "<input class='textFieldIns' size='6' value='1' name='qty'> "; document.getElementById("codici").innerHTML+=out; var num = String(numero_codici-1); alert(num); inu = document.forms[0].elements['ricambio'+num].value; alert(inu); numero_codici++; }
Comunque non so se i tag <label> cosi` sono coretti, senza l'attributo for.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Ti ringrazio tantissimo, funziona!!!!!![]()