Avatar billede kenneth_jakel Nybegynder
18. september 2001 - 00:08 Der er 4 kommentarer og
1 løsning

disable textfields når checkbox bliver checked

Jeg er ved at lave et bestillings system, og er nået dertil hvor brugeren skal indtaste dels betalingsadresse og dels leveringsadresse. Jeg har til formålet lavet en checkbox, der kan tjekkes af, når leveringsadresse og betalingsadresse er den samme. Da jeg formoder at disse adresser ofte er de samme, har jeg sat checkboxen til \"checked\" på forhånd.

Jeg vil gerne have det sådan, at når checkboxen er \"checked\" er de fire efterfølgende textfields ikke mulige at skrive i (evt. måtte de gerne \"se disablet ud\") og når checkboxen ikke er \"checked\" skal det naturligvis være muligt at skrive.

Det skulle gerne ske \"realtime\" hvis det kan lade sig gøre, så det ikke er nødvendigt at reloade hele siden, eller bevæge sig over på en anden side. Formfieldet er en del af et længere PHP-script, men jeg går udfra at det er Javascript der skal bruges.

Da jeg ikke ved særlig meget om javascript, vil jeg gerne bede om komplet kode.

Håber nogen kan hjælpe.
Avatar billede jakoba Nybegynder
18. september 2001 - 00:55 #1

<form>
<input type=\'checkbox\' name=\'chkfeltnavn\'
      onclick=\"this.form.textfeltnavn.disabled=this.status\">
<input type=\'text\' name=\"textfeltnavn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
<form>

mvh JakobA
Avatar billede jakoba Nybegynder
18. september 2001 - 00:59 #2
Ups. der var 4 felter:

<form>
<input type=\'checkbox\' name=\'chkfeltnavn\'
      onclick=\"this.form.textfelt1navn.disabled=this.form.textfelt2navn.disabled=this.form.textfelt3navn.disabled=this.form.textfelt4navn.disabled=this.status\">

1<input type=\'text\' name=\"textfelt1navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
2<input type=\'text\' name=\"textfelt2navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
3<input type=\'text\' name=\"textfelt3navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
4<input type=\'text\' name=\"textfelt4navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">

<form>
Avatar billede kenneth_jakel Nybegynder
18. september 2001 - 01:21 #3
Tak - det virker perfekt. Kunne man evt. udbygge den, så hvis man har skrevet noget i de fire formfields, og man så tjekker checkboxen, så bliver det man har skrevet slettet, hvorefter de fire fields bliver \"disablet\".

Bare drop det hvis det er alt for beværeligt.
Avatar billede jakoba Nybegynder
18. september 2001 - 05:34 #4
Neg det er ret enkelt. Jeg laver det som en lille funktion i <head området da det bliver lidt meget at skrive efter onclick=

Du sagde \"slettet\" så de skrevne kommer ikke tilbage hvis checkboksen klikkes fra igen.

i head:

<script language=\'javascript\'> <!--

function checkBoxClick ( frm, boxStatus ) {
    if ( boxStatus == true ) { // funktionen kaldes med gammel box status
        frm.textfelt1navn.value = \"\";
        frm.textfelt2navn.value = \"\";
        frm.textfelt3navn.value = \"\";
        frm.textfelt4navn.value = \"\";
    };
    frm.textfelt1navn.disabled = boxStatus; // slå felter fra eller til
    frm.textfelt2navn.disabled = boxStatus;
    frm.textfelt3navn.disabled = boxStatus;
    frm.textfelt4navn.disabled = boxStatus;
}; //end checkBoxClick( Form objekt, boolean )

// --> </script>

i formen:

<form>
<input type=\'checkbox\' name=\'chkfeltnavn\'
      onclick=\"checkBoxClick( this.form, this.status )\">

1<input type=\'text\' name=\"textfelt1navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
2<input type=\'text\' name=\"textfelt2navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
3<input type=\'text\' name=\"textfelt3navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">
4<input type=\'text\' name=\"textfelt4navn\" value=\"\"
      onfocus=\"if(this.form.chkfeltnavn.status)this.blur();\">

<form>

mvh JakobA
Avatar billede kenneth_jakel Nybegynder
18. september 2001 - 09:35 #5
Takker!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester