08. april 2002 - 10:59Der er
11 kommentarer og 1 løsning
disabled i felter
Jeg skal lave en formular og hvis en betingelse er opfyldt, så er der visse felter der IKKE må kunne udfyldes og det skal vises visuelt at man ikke skal udfylde de felter. Mere præcist så har jeg en radiobutton, og hvis der i denne vælges JA, så er der to input felter som ikke må kunne udfyldes. I php kan jeg bruge disbled men den virker først efter jeg har fået submittet, fordi det er åbenbart først efter submit at radiobutton-variablen bliver sat. Men jeg vil selvfølgelig gerne have at man ikke må kunne skrive i input feltet lige så snart man har valgt JA
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
if ( betingelse ) { // feltet skal slås fra document.formnavn.feltnavn.disabled = true; } else { // feltet skal ikke slås fra document.formnavn.feltnavn.disabled = false; }
Det er nemt at blive lidt forvirret for disabled er en 'negativ' attribut. når den er sand virker feltet ikke.
Jeg skal lige have lidt mere hjælp. Jeg har brugt følgende. <script> if (hjemmeboende == ja) { // feltet skal slås fra document.formular.boligStr.disabled = true; } else { // feltet skal ikke slås fra document.formular.boligStr.disabled = false; }
som jeg har sat ind lige efter min radiobutton. Min radiobutton har name=hjemmeboende og min jeg har nu givet min form et navn ved name="formular".
Skal jeg angive noget i toppen. Mener jeg. noget med langue=javescript eller sådan noget. Jeg er ikke så skrap i det
radioknapper optræder som regel i grupper så de bliver onternet organiseret som et array.
Her lyder det somom der kun er een radioknap i gruppen (dvs kunne een radioknap med name='hjemmeboende'), den har så index 0.
Men jeg ville nu nok anbefale at du så bruge en checkboks istedet: <input type='checkbox' name='hjemmeboende' value='who cares'> og så adresserer den med: if (document.formular.hjemmeboende.checked)
anden del: Ja der skal stå lidt mere i <script kommandoen:
<script type='text/javascript'>
noget andet er at den kode du har skrevet bliver kun udført een gang (idet siden hentes). skulle det ikke snarere være en løbende check der slår de der felter fra (og til) idet brugeren klikker?
det er præcis det løbende check jeg er ude efter. Det er 2 radio knapper begge med name=hjemmeboende. Den ene har value JA og den anden NEJ. Er den sat på JA er der et par normale input felter der ikke må udfyldes, men hvordan laver jeg så det løbende check
hvid den der hedder ja står først i htmlfilen er adressen så if (document.formular.hjemmeboende[0].checked) hvis ja knappen står sidst er adressen if (document.formular.hjemmeboende[1].checked)
sæt en onclick event på begge radioknap kommandoerne:
<input type='radio' name='hjemmeboende' value="ja eller nej" onclick="setFeltStatus()">
og lav så dit script som:
<script type='text/javascript'>
function setFeltStatus() { if (document.formular.hjemmeboende[0].checked) { // feltet skal slås fra document.formular.boligStr.disabled = true; } else { // feltet skal ikke slås fra document.formular.boligStr.disabled = false; } }; //end setFeltStatus()
window.setFeltStatus = setFeltStatus; // udelad linien hvis scriptet står i head sektionen
når du laver en <script ... </scipt> kommando indeni <body kommandoen et sted (som du gør her) vil de variable og funktioner der defineres i den script-sektion komme til at ligge i browserens dokument-objekt
linien window.setFeltStatus = setFeltStatus; // udelad linien hvis scriptet tager det funktionsnavn vi har defineret og sørger for at det samme navn også er defineret i window objektet og peger på den samme funktion derfra.
jeg har lagt funktionen inden <html> gør det noget?
En anden ting, har du en funktion på hånden til at tælle hvor mange char der er i en variabel. Altså hvis $navn = "encorez", så vil jeg gerne kunne tælle at encorez består af 7 tegn. Jeg kan bare ikke finde det. Ger i php hvis du kan det
det er ukorrekt ifølge html standarden. den eneste kommando der bør stå før <html> er <!doctype
så jeg vil anbefale du flytter det ned efter din <head kommando.
men din side vil sandsynligvis virke selvom det ikke står helt korrekt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.