/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
disable skjulte (password)felter
Fra : Leif Neland


Dato : 11-01-08 09:23

Jeg har en formular, hvor visse felter bliver skjult/vist ved at den div de
er i bliver vist eller ej (style.display="block"/"none")

Men firefox spørger om den skal ændre det gemte password i password manager,
hvis passwordfeltet ikke er vist.

Det undgår jeg, hvis feltet er disabled.

Kan man loope over alle felter og se, om de er vist, og hvis ikke, så
disable dem?
style.display hænger jo på den div, feltet er i, og ikke på feltet.

Eller bliver jeg nødt til at når jeg display:none div'en også disable
password-feltet?

Leif



 
 
Christian Hansen (12-01-2008)
Kommentar
Fra : Christian Hansen


Dato : 12-01-08 00:26

Leif Neland wrote:
> Jeg har en formular, hvor visse felter bliver skjult/vist ved at den div de
> er i bliver vist eller ej (style.display="block"/"none")
>
> Men firefox spørger om den skal ændre det gemte password i password manager,
> hvis passwordfeltet ikke er vist.
>
> Det undgår jeg, hvis feltet er disabled.
>
> Kan man loope over alle felter og se, om de er vist, og hvis ikke, så
> disable dem?
> style.display hænger jo på den div, feltet er i, og ikke på feltet.


Det kan du godt.

Du skal lave noget ala følgende:

//hent alle inputs - du kan anvende getElementsByTagName direkte på
form-elementet, såfremt du har flere formelementer og kun ønsker at
disable på en form.
var inputs = document.getElementsByTagName("input");
//løb gennem alle input elementer - bemærk at selects og textareas ikke
er omfattet - de må klares særskilt
for ( var c = 0; c < inputs.length; c++ ) {
//hvis parentNode - altså pågældende input-elements forældrenode,
div-en, har display == "none", så disable input-elemenetet.
if ( inputs.item(c).parentNode.style.display == "none" )
inputs.item(c).disabled = "disabled";   
}

Vær opmærksom på at disabled felter ikke postes med ved submit.

Mvh Christian

Leif Neland (13-01-2008)
Kommentar
Fra : Leif Neland


Dato : 13-01-08 23:49

Christian Hansen skrev:
> Leif Neland wrote:
>> Jeg har en formular, hvor visse felter bliver skjult/vist ved at den
>> div de
>> er i bliver vist eller ej (style.display="block"/"none")
>>
>> Men firefox spørger om den skal ændre det gemte password i password
>> manager,
>> hvis passwordfeltet ikke er vist.
>>
>> Det undgår jeg, hvis feltet er disabled.
>>
>> Kan man loope over alle felter og se, om de er vist, og hvis ikke, så
>> disable dem?
>> style.display hænger jo på den div, feltet er i, og ikke på feltet.
>
>
> Det kan du godt.
>
> Du skal lave noget ala følgende:
>
Øv, det viser sig, at det ikke var nok at sætte passwordfelter til
disabled, firefox spørger alligevel om det gemte password skal ændres.

Så må jeg vel ligefrem ændre typen til f.ex. text i stedet for password.
Eller read-only? Må lige prøve.

Leif

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409076
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste