Newsgroup: it.comp.lang.javascript
Titolo: Aiuto per Form

Bongiorno a tutto il Ng
Ho questo problema:
Ho un form di nome AAA con vari "input type" di tipo testo tutti
disabilitati tranne il primo.
Vorrei che all'inserire il testo nel primo si abiliti il secondo,
all'inserire il testo nel secondo si abiliti il terzo, ...
e cosě via.
Qualcuno puň aiutarmi?
grazie 1000
ciao
Danilo


Cosě, su due piedi mi viene da pensare che potresti provare ad aggiungere un
handler dell'evento "keyup" su ogni elemento "input". Poi, all'interno di
ciascun handler verifichi la lunghezza del testo e se questa č > 0 abiliti
l'elemento "input" successivo.
Forse ci sono soluzioni piů eleganti... questa č la prima che mi č venuta in
mente :-)))
Ciao, Luca
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

mmm... diciamo che so poco e niente di js :-) sono appena agli inizi...
Puoi spiegarmi meglio quanto hai detto, magari con due righe di codice...
te ne sarei grato

io ho provato a fare cosě
<form name="modulo">
<input type="text" name="testo1" onchange="this.form.testo2.disabled=false;
this.form.testo2.value=''">
<input type="text" name="testo2" value="disabilitato" disabled
onchange="this.form.testo3.disabled=false; this.form.testo3.value=''">
<input type="text" name="testo3" value="disabilitato" disabled>
</form>
Solo che ho questo problema:
 la proprieta' disable e il value "disabilitato" mi vengono cancellati solo
quando (una volta inserito qcosa nel "testo1") vado a cliccare sul "testo2".
Io vorrei che invece tutto cio' accadesse senza che il cursore vada sul
campo "testo2".
Non so se mi sono spiegato.
E' possibile farlo?
Ti (e vi) ringrazio.
ciao
Danilo

 io ho provato a fare così

Prova questa pagina... a me funziona correttamente. Nota che io ho usato
l'evento "onkeyup" anziché l'evento "onchange".
<html>
 <head>
  <title>Prova</title>
  <script language="javascript">
function enableInput2()
{
  var input1 = document.getElementById("input1");
  if (input1.value.length > 0)
  {
    var input2 = document.getElementById("input2");
    if (input2.disabled == true)
    {
      input2.disabled = false;
      input2.value = "";
    }
  }
}
function enableInput3()
{
  var input2 = document.getElementById("input2");
  if (input2.value.length > 0)
  {
    var input3 = document.getElementById("input3");
    if (input3.disabled == true)
    {
      input3.disabled = false;
      input3.value = "";
    }
  }
}
  </script>
 </head>
 <body>
  <form name="modulo">
   <input id="input1" type="text" name="testo1" onkeyup="enableInput2()">
   <input id="input2" type="text" name="testo2" value="disabilitato" disabled
onkeyup="enableInput3()">
   <input id="input3" type="text" name="testo3" value="disabilitato" disabled>
  </form>
 </body>
</html>


ti ringrazio sei stato molto gentile!
ciao
Danilo

ah, un altra domanda... e poi smetto ;-)
riguardo lo script è compatibile anche con NS oltre che con Expl?


Sicuramente si... ho verificato quello script sia con NS che IE.
Anche perché nel mio pc NS è il browser di default.... hehehe. Lo preferisco
sia per una questione di abitudine (l'ho sempre usato da quando ho iniziato
a navigare in internet) sia perché in fase di debug degli script mi sembra
un po' mgliore rispetto a IE.
Comunque è sempre opportuno verificare gli script anche su IE. Infatti IE,
pur con tutte le sue pecche (vedi,ad esempio, il fatto che non rispetta a
pieno gli standard), resta sempre il browser più diffuso. E' molto triste
fare una pagina web stupenda e scoprire che non gira su IE... non potrai far
morire di invidia tutti i tuoi amici... :-)))
Ciao... Luca


ho provato a realizzare la stessa cosa, ma con una checkbox prima di un
testo.
function attiva_dopo_check(i,j)
{
/* i è l'indice di input della checkbox */
/* j è l'indice di input del campo di testo da abilitare */
var check = document.getElementById("input"+i);
 if (check.checked==true){
  var campo = document.getElementById("input"+j);
  if (campo.disabled == true)
     {
       campo.disabled = false;
       campo.value = "";
     }
    }
 }
e nel form c'ho messo:
...
<input id="input7" type="checkbox" name="testo7" value="ON" disabled
onPropertyChange="attiva_dopo_check(7,8)"><br>
<input id="input8" type="text" name="testo8" value="disabilitato" disabled >
Ho usato come evento onPropertyChange
Il tutto funziona egregiamente su Explorer, non so se su altri browsers tale
evento venga letto.
Se è ok, allora sono contento ;-)
se no, invece, sai che evento ( che simuli il onKeyUp per il text) posso
utilizzare?
ciao
Dani


A me su NS7.1 non funziona. Invece, utilizzando l'evento "onclick" tutto mi
funziona, sia su NS che su IE.
Ciao, Luca
