Avatar billede stig69 Nybegynder
30. marts 2004 - 14:30 Der er 21 kommentarer og
1 løsning

To input felter, hvor kun et skal aktiveres

Jeg har følgende kode:
<html>
<head>

</head>
<body>

<form name="indskriv_kunde">

<select name="firmanavn"><option>Vælg en eksisterende</option>

<option value="kunde">kunde
<option value="firma">firma
<option value="virksomhed">virksomhed
</select>
eller
<input type="text" name="firmanavn" value="indskriv ny kunde" size="20" maxlength="60">
</form>
</body>
</html>

Jeg vil gerne have at pr. default er de begge aktive. Man kan så vælge enten en kunde fra listen eller indskrive en ny. Hvis
man vælger en kunde fra listen, skal input feltet deaktiveres og hvis man vælger at indskrive en ny kunde skal listen deaktiveres. Derudover kunne jeg godt tænke mig at, hvis man valgte inputfeltet, så blev value (indskriv ny kunde) slettet.

Stig
Avatar billede skovenborg Nybegynder
30. marts 2004 - 14:36 #1
Prøv:
<html>
<head>

</head>
<body>

<form name="indskriv_kunde">

<select name="firmanavn1" onchange="if (this.selectedIndex != 0) {this.form.firmanavn2.disabled=true;} else {this.form.firmanavn2.disabled = false;}><option>Vælg en eksisterende</option>

<option value="kunde">kunde
<option value="firma">firma
<option value="virksomhed">virksomhed
</select>
eller
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn.disabled=true;}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn.disabled=false;}">
</form>
</body>
</html>
Avatar billede skovenborg Nybegynder
30. marts 2004 - 14:38 #2
og med lidt rettelser:
<html>
<head>

</head>
<body>

<form name="indskriv_kunde">

<select name="firmanavn1" onchange="if (this.selectedIndex != 0) {this.form.firmanavn2.disabled=true;} else {this.form.firmanavn2.disabled = false;}"><option>Vælg en eksisterende</option>

<option value="kunde">kunde
<option value="firma">firma
<option value="virksomhed">virksomhed
</select>
eller
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn1.disabled=true;}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn1.disabled=false;}">
</form>
</body>
</html>

Koden er sådan set bare en modificeret udgave af:
http://roenving.users.whitehat.dk/index.html?/WD3Input.html
Avatar billede limemedia Nybegynder
30. marts 2004 - 14:40 #3
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
    function checkform() {
        indskriv_kunde.firmanavn.disabled = false;
        indskriv_kunde.firmanavn2.disabled = false;

        if (indskriv_kunde.firmanavn.selectedIndex != 0) {
            indskriv_kunde.firmanavn2.value = "";
            indskriv_kunde.firmanavn2.disabled = true;
        } else if (indskriv_kunde.firmanavn2.value != "" && indskriv_kunde.firmanavn2.value != "indskriv ny kunde") {
            indskriv_kunde.firmanavn.selectedIndex = 0
            indskriv_kunde.firmanavn.disabled = true;
        }
    }
//-->
</script>
</head>
<body>

<form name="indskriv_kunde">

<select name="firmanavn" onChange="checkform();">
<option value="">Vælg en eksisterende</option>
<option value="kunde">kunde</option>
<option value="firma">firma</option>
<option value="virksomhed">virksomhed</option>
</select>
eller
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onKeyUp="checkform();">
</form>
</body>
</html>
Avatar billede stig69 Nybegynder
30. marts 2004 - 14:47 #4
Jeg tror nok jeg vil acceptere skovenborgs andet forslag... det var helt perfekt. skovenborg--> gider du ligge et svar
Avatar billede skovenborg Nybegynder
30. marts 2004 - 14:59 #5
jo - værsgo' :-)
Avatar billede skovenborg Nybegynder
30. marts 2004 - 15:05 #6
og tak for points :-)
Avatar billede stig69 Nybegynder
30. marts 2004 - 22:45 #7
skovenborg--> Kan man ligge en submit ind i dropdown menuen? altså, onchange="this.form.submit;"?
Avatar billede skovenborg Nybegynder
30. marts 2004 - 23:06 #8
<select name="firmanavn1" onchange="if (this.selectedIndex != 0) {this.form.firmanavn2.disabled=true;} else if (this.value == "submit") {this.form.submit();} else {this.form.firmanavn2.disabled = false;}"><option>Vælg en eksisterende</option>

<option value="kunde">kunde
<option value="firma">firma
<option value="virksomhed">virksomhed
<option value="submit">SUBMIT
</select>
Avatar billede skovenborg Nybegynder
30. marts 2004 - 23:08 #9
sorry, den skal lige laves lidt om - 2 sek.
Avatar billede skovenborg Nybegynder
30. marts 2004 - 23:13 #10
sådan, så submitter den heller ikke submit, men det sidst valgte element i select-boksen:
<script type="text/javascript">
  var lastItem = 0;
  function changeSelect(elm) {
        if (elm.selectedIndex != 0) {
                elm.form.firmanavn2.disabled=true;
                if (elm.value == "submit") {elm.options[lastItem].selected = true;elm.form.submit();}
                else lastItem = elm.selectedIndex;
        }
        else {elm.form.firmanavn2.disabled = false;}

  }
</script>

<form name="indskriv_kunde">

<select name="firmanavn1" onchange="changeSelect(this);"><option>Vælg en eksisterende</option>
<option value="kunde">kunde
<option value="firma">firma
<option value="virksomhed">virksomhed
<option value="submit">SUBMIT</option>
</select>
eller
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn1.disabled=true;}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn1.disabled=false;}">
</form>
Avatar billede stig69 Nybegynder
31. marts 2004 - 00:32 #11
skovenborg--> Kigger på det imorgen tidlig, er på vej i seng
Avatar billede skovenborg Nybegynder
31. marts 2004 - 01:13 #12
god nat da - håber det virker :-)
Avatar billede roenving Novice
31. marts 2004 - 01:20 #13
Ja, jeg ville gætte på, at den skulle submittes, når noget var valgt:

<html>
<head>
<title></title>
</head>
<body>

<form name="indskriv_kunde">

<select name="firmanavn1" onchange="if (this.selectedIndex != 0) this.form.submit();>
<option>Vælg en eksisterende</option>

<option value="kunde">kunde</option>
<option value="firma">firma</option>
<option value="virksomhed">virksomhed</option>
</select>
eller<br>
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn1.disabled=true;}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn1.disabled=false;}"><br>
<input type="submit" value="Indsend">
</form>
</body>
</html>
Avatar billede stig69 Nybegynder
31. marts 2004 - 11:56 #14
Det var da utroligt så sent som I arbejder drenge ;-).

Jeg har nu haft tid til at kigge på det I har lavet. Det jeg eftersøger tror jeg er meget mere simpelt, men jeg kan godt se at jeg ikke fik forklaret mig så tydeligt i går.

Hvis man vælger kunde, firma eller virksomhed i dropdown menuen skal formen submit'es uden brug af knap, bare ved valg af en af de tre muligheder. Hvis man derimod ønsker at indskrive ny kunde skal formen ikke submit'es, da flere punkter skal indtastes, men det kommer senere
Avatar billede roenving Novice
31. marts 2004 - 14:52 #15
-- det var lige den, jeg angav !-)

-- men det kan da godt være, at knappen fra starten skal være disabled, så skal dine inputs bare laves en anelse om:

<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn1.disabled=true;this.form.subm.disabled=false;}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn1.disabled=false;this.form.subm.disabled=true;}"><br>
<input type="submit" value="Indsend" name="subm" disabled></form>
Avatar billede stig69 Nybegynder
31. marts 2004 - 15:29 #16
roenving--> ingen knap. Og kun submit ved valg i dropdown menuen
Avatar billede roenving Novice
31. marts 2004 - 16:37 #17
Som den er nu submitter den direkte ved valg, og foreløbig har jeg bare valgt at disable knappen, vi kunne også skjule den, indtil der var fokus på tekst-inputtet ...
Avatar billede stig69 Nybegynder
01. april 2004 - 22:38 #18
roenving--> Jeg havde glemt en " efter ; tilsidst, derfor virkede det ikke rigtig for mig.
<select name="firmanavn1" onchange="if (this.selectedIndex != 0) this.form.submit();>

Er der mulighed for at skjule kanppen?
Avatar billede stig69 Nybegynder
01. april 2004 - 22:40 #19
type="hidden"... fandt lige ud af det
Avatar billede stig69 Nybegynder
01. april 2004 - 22:42 #20
roenving-->Jeg er rigtig glad for det. Jeg vil gerne give dig nogle point, hvis du er interesseret
Avatar billede roenving Novice
01. april 2004 - 22:49 #21
Hvis du skal vise den ved fokus på tekst-feltet bliver det:

<form name="indskriv_kunde">

<select name="firmanavn1" onchange="if (this.selectedIndex != 0) this.form.submit();>
<option>Vælg en eksisterende</option>

<option value="kunde">kunde</option>
<option value="firma">firma</option>
<option value="virksomhed">virksomhed</option>
</select>
eller<br>
<input type="text" name="firmanavn2" value="indskriv ny kunde" size="20" maxlength="60" onfocus="if(this.value==this.defaultValue){this.value='';this.form.firmanavn1.disabled=true;this.form.subm.style.visibility='visible';}" onblur="if(this.value==''){this.value=this.defaultValue;this.form.firmanavn1.disabled=false;this.form.subm.style.visibility='hidden';}"><br>
<input type="submit" value="Indsend" name="subm" style="visibility:hidden;"></form>

Og points _kan_ du da give, men det er jo lang tid siden, at det blev lukket her !-)

Evt. kan du jo kigge her: http://expfaq.1go.dk/?id=30#giv_flere_point
Avatar billede stig69 Nybegynder
01. april 2004 - 22:54 #22
Jeg tror jeg holder mig til det første, det er mere det jeg har brug for. Point til dig

http://www.eksperten.dk/spm/484840
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