Avatar billede Slettet bruger
21. maj 2004 - 22:25 Der er 16 kommentarer og
1 løsning

input felter som ikke kan skrives i

Først vil jeg lige sige jeg ikke er sikker på dette er javascript, men jeg regner med det.

Jeg har en af de der lister/popned menuer, eller hvad de nu hedder, hvor man kan vælge imellem nogle ting. Nedenunder har jeg så et input felt, og jeg vil gerne have gjort sådan at man kun kan skrive i feltet hvis man vælger et bestemt punkt på listen. Hvordan gøres det?

Og så lige en ting til:
i mit input felt er der noget tekst, der forsvinder ved onfocus. Hvordan kan jeg gøre sådan at den tekst kommer igen ved onblur, hvis man ikke har skrevet noget? har prøvet det her, men det virkede ikke: onblur="if(this.value='') this.value='hej'"
Avatar billede roenving Novice
21. maj 2004 - 22:34 #1
Den sidste:

http://roenving.users.whitehat.dk/WD3Input.html

-- og den første:

<form>
<select name="minSelect" onchange="this.form.minInput.disabled=(this.selectedIndex!=3)">
  <option value="">-- Vælg type --</option>
  <option value="Ferrari">Ferrari</option>
  <option value="Mercedes">Mercedes</option>
  <option value="Andet">Andet - skriv herunder</option>
</select><br>

<input type="text" name="minInput" disabled="disabled">
</form>
Avatar billede Slettet bruger
21. maj 2004 - 22:42 #2
ok, de virker, men kan man ike gøre sådan at feltet bliver gråt? Så folk ved at man ikke kan skrive i det
Avatar billede roenving Novice
21. maj 2004 - 22:49 #3
Jo, men så vil jeg nok anbefale, at man laver en lille script-blok, for så skal vi ændre i stylen:

<script type="text/javascript">
function shHideInput(fld){
  var inp = fld.form.minInput;
  switch(fld.selectedIndex){
    case 3:
      inp.style.backgroundColor = "white";
      inp.disabled = false;
      break;
    default:
      inp.style.backgroundColor = "#ccc";
      inp.disabled = true;
  }
}
</script>
<form>
<select name="minSelect" onchange="shHideInput(this)">
  <option value="">-- Vælg type --</option>
  <option value="Ferrari">Ferrari</option>
  <option value="Mercedes">Mercedes</option>
  <option value="Andet">Andet - skriv herunder</option>
</select><br>

<input type="text" name="minInput" disabled="disabled" style="background:#ccc;" value="Skriv type her" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30">
</form>
Avatar billede Slettet bruger
21. maj 2004 - 22:56 #4
Ok, så bliver det godt nok en anden slags input, men lig et svar
Avatar billede Slettet bruger
21. maj 2004 - 22:57 #5
nej forresten, kan man få den der liste til at disable og "afdisable" 2 forskellige inputs?
Avatar billede roenving Novice
21. maj 2004 - 22:57 #6
Hvordan en anden type ?-)

-- els velbekomme '-)
Avatar billede roenving Novice
21. maj 2004 - 22:58 #7
Jo, da, det er jo bare at putte flere linjer i script-blokken, evt. flere cases !-)
Avatar billede Slettet bruger
21. maj 2004 - 23:03 #8
for mig bliver input i andet script windows 98 agtigt - og det med 2 forskellige inputs var nu mere rettet mod første script
Avatar billede roenving Novice
21. maj 2004 - 23:12 #9
Når vi kan ændre background kan vi også ændre alle andre (style-)properties, så udseendet afhænger kun af din fantasi (og behov !-)

-- og skifte mellem to inputs er heller ikke specielt besværligt ...
Avatar billede Slettet bruger
21. maj 2004 - 23:15 #10
Det er det for mig, for jeg er ny i javascript. Jeg har prøvet en del forskelligt med de to inputs, men de vil ikke helt som jeg vil. Kan godt få det første til at virke, men ikke det andet
Avatar billede roenving Novice
21. maj 2004 - 23:16 #11
Så prøv at vise din kode, og prøv at uddybe, hvad du vil !-)
Avatar billede Slettet bruger
21. maj 2004 - 23:17 #12
jo, det virker nu. godt man kan lidt php ;)
Avatar billede Slettet bruger
21. maj 2004 - 23:18 #13
Eller... nej. Det virker halvt, men hvis man vælger to ting i træk kan man skrive i begge to
Avatar billede roenving Novice
21. maj 2004 - 23:21 #14
-- tak for point ;~}

Det nemmeste vil være at du poster den kode, som kommer i browseren, men måske kan du beskrive, hvad du har prøvet, så det kan rettes til !-)
Avatar billede Slettet bruger
21. maj 2004 - 23:22 #15
det her er min kode:

<form>
  <p>
    <select name="minSelect" onchange="if(this.form.mindstepris.disabled=(this.selectedIndex!=1)) ifelse(this.form.byttesfor.disabled=(this.selectedIndex!=2))">
      <option value="">Vælg handelstype</option>
      <option value="sell">S&aelig;lges</option>
      <option value="trade">Byttes</option>
    </select>
  </p>
  <p> 
    <input type="text" name="mindstepris" disabled="disabled" value="Angiv mindstepris..." onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;">
  </p>
  <p>
    <input type="text" name="byttesfor" disabled="disabled" value="Byttes for..." onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;">
  </p>
  </form>
Avatar billede roenving Novice
21. maj 2004 - 23:25 #16
<select name="minSelect" onchange="this.form.mindstepris.disabled=(this.selectedIndex!=1);this.form.byttesfor.disabled=(this.selectedIndex!=2)">
Avatar billede Slettet bruger
21. maj 2004 - 23:30 #17
Det virker! Tusind mange tak for hjælpen :o)
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