Avatar billede bramsing Nybegynder
19. oktober 2009 - 08:26 Der er 3 kommentarer og
1 løsning

select onchange med Javascript

Jeg har denne kode, men kan ikke få den til at virke...
I load af siden skriver den at der er en syntaxfejl

<select name="kunde" onchange="this.form.domain.value=this.options[this.options.selectedIndex].value;
if (this.form.domain.value=this.options[this.options.selectedIndex].text.substring-1 = ')') {
this.form.cbwebframe[0].checked=true
}else{
this.form.cbwebframe[1].checked=true
};">
Avatar billede ebusiness Nybegynder
19. oktober 2009 - 15:19 #1
Hvad er det du prøver på?

Og post hele din form, ellers er det ikke til at have med at gøre.
Avatar billede bramsing Nybegynder
19. oktober 2009 - 15:45 #2
Jeg vil gerne have at når der vælges noget i select så skal den opdatere input feltet med sin value og herefter skal den undersøge om select text slutter med en ) - Hvis den gør det, så skal den ændre radio checked fra [1] til [0] og ellers skal den sættes til [1] (hvis den nu er blevet ændret til [0] ved en fejl)

Jeg håber det giver mening...

<form name="flush2" action="flush.asp?id=flush2" method="post" target="_new">
<select multiple size="<%=rows%>" name="kunde" onchange="this.form.domain.value=this.options[this.options.selectedIndex].value;
if (this.form.domain.value=this.options[this.options.selectedIndex].text.substring-1 = ')') {
this.form.cbwebframe[0].checked=true
}else{
this.form.cbwebframe[1].checked=true
};">
    <option value="">Vælg fra listen</option>
    <option value="test.dk">1770 - test.dk (cbframe)</option>
    <option value="test2.dk">1772 - test2.dk</option>
</select>
<br>
<br><strong>Kunde domæne:</strong><br>http://www.<input type="text" name="domain">
<br>
<br><strong>CBWebframe:</strong><br>
Ja <INPUT TYPE=RADIO NAME="cbwebframe" VALUE="ja"> - <INPUT TYPE=RADIO NAME="cbwebframe" VALUE="nej" checked="checked"> Nej
<br>
      <input type="submit">
    </form>
Avatar billede ebusiness Nybegynder
19. oktober 2009 - 16:15 #3
Det er godt nok noget klyt, men sådan her, så virker det:

<form name="flush2" action="flush.asp?id=flush2" method="post" target="_new">
<select name="kunde" onchange="this.form.domain.value=this.value;if(this.options[this.options.selectedIndex].text.match(/\)$/)){this.form.cbwebframe[0].checked=true}else{this.form.cbwebframe[1].checked=true};">
    <option value="">Vælg fra listen</option>
    <option value="test.dk">1770 - test.dk (cbframe)</option>
    <option value="test2.dk">1772 - test2.dk</option>
</select>
<br>
<br><strong>Kunde domæne:</strong><br>http://www.<input type="text" name="domain">
<br>
<br><strong>CBWebframe:</strong><br>
Ja <INPUT TYPE=RADIO NAME="cbwebframe" VALUE="ja"> - <INPUT TYPE=RADIO NAME="cbwebframe" VALUE="nej" checked="checked"> Nej
<br>
      <input type="submit">
    </form>

Jeg har også fjernet multiple og size fra din kode. Jeg kan ikke se hvordan multiple skulle give mening i sammenhængen, og det er ikke en god ide at lade size vokse i takt med listen. Hvis du vil give den en size så lad det være en rimelig størrelse.
Avatar billede bramsing Nybegynder
20. oktober 2009 - 08:28 #4
Perfekt... Jeg havde overset multiple, så tak for det...
<%=rows%> er sat for at jeg kan styre size et centralt sted og ikke på at den tæller rækkerne ;-)
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