Avatar billede kimborg Nybegynder
04. juni 2007 - 11:36 Der er 11 kommentarer og
1 løsning

Valg i Selectbox tilføjer textbox

Hej

Jeg har en selectbox, hvor valget "andet" skal få en textbox frem, men hvordan går man det???

Venligst

Kim
Avatar billede l3kris Nybegynder
04. juni 2007 - 14:06 #1
Vi går ud fra, at din select har en option, hvor value="andet", og at du allerede har en textbox, der blot ikke er synlig (style="visible=hidden;"). Textboxen har id="mintextbox";

function show_text(el)
{
var el2=window.document.minform.getElementById('mintextbox');
if(el.value=="andet") {
el2.style.visible=true;
}else{
el2.style.visible=false;
}
return false;
}

Noget i den stil - jeg har skrevet den direkte ind her og kan ikke lige kontrollere den.
Avatar billede roenving Novice
04. juni 2007 - 15:00 #2
-- og det kan forenkles kraftigt:

<script type="text/javascript">
function showAndet(sel){
  sel.form.andetText.style.visibility = sel.selectedIndex == 3 ? "visible" : "hidden";
}
</script>

<form>
  Hvordan hr du lært os at kende:
  <select onchange="showAndet(this);">
    <option>-- Vælg --</option>
    <option value="tv">TVreklame</option>
    <option value="tv">Avisreklame</option>
    <option value="andet">Andet, angiv venligst i boksen til højre</option>
  </select>
  <input type="text" name="andetText" id="andetText" style="visibility:hidden;"><br>
</form>
Avatar billede roenving Novice
04. juni 2007 - 15:01 #3
-- tjah, der blev jo også lige rettet et par hukommelsesforskydninger m.m.m.
Avatar billede kimborg Nybegynder
04. juni 2007 - 15:44 #4
Hej, jeg kan ikke få det til at virke

følgende vel ikke være i head, eller hvordan?:

<script type="text/javascript">
function showAndet(sel){
  sel.form.andetText.style.visibility = sel.selectedIndex == 3 ? "visible" : "hidden";
}
</script>
Avatar billede kimborg Nybegynder
04. juni 2007 - 15:52 #5
Ahhh... hvis der kun er 3 options, skal sel.selectedIndex == 3 rettes til sel.selectedIndex == 2 :o)

Tak for hjælpen og roenving, smid lige et svar
Avatar billede roenving Novice
04. juni 2007 - 16:27 #6
-- et script-tag må placeres hvorsomhelst indenfor head- eller body-tags, hvilket også gælder henvisninger til eksterne javascript-filer !-)

Godt du lige så fidusen med selectedIndex !o]

Velbekomme '-)
Avatar billede kimborg Nybegynder
04. juni 2007 - 16:49 #7
Jeg kan ikke submitte formen, da valuen jo både består af "andet" og eks. "300"
, hvad gør jeg??

<tr>
<td width="95px"><b>Indskud:</b><br></td>
<td width="147px"><select name="Indskud" onchange="showAndet1(this);" style="font-weight:normal;width:146px;color:#333333;background-color:#FFFFFF;">
<option value=""></option>
<option value="500">500</option>
<option value="andet">Andet beløb...</option>
</td>
<td></select><input type="text" name="Indskud" id="andet1Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</td>
</tr>
Avatar billede roenving Novice
04. juni 2007 - 23:15 #8
Du skal lukke et element i samme tabelcelle, som det er startet i ...

<tr>
<td width="95px"><b>Indskud:</b><br></td>
<td width="147px"><select name="Indskud" onchange="showAndet1(this);" style="font-weight:normal;width:146px;color:#333333;background-color:#FFFFFF;">
<option value=""></option>
<option value="500">500</option>
<option value="andet">Andet beløb...</option>
</select></td>
<td><input type="text" name="Indskud" id="andet1Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;"></td>
</tr>

-- så må du i din serverside behandling tage højde for det, for formen submitter vel alligevel med feltet ?-)
Avatar billede erikjacobsen Ekspert
05. juni 2007 - 00:03 #9
Kald de to felter noget forskelligt.
Avatar billede roenving Novice
05. juni 2007 - 00:06 #10
*lol*

-- det er zq godt overset ...
Avatar billede kimborg Nybegynder
05. juni 2007 - 14:01 #11
Tak for hjælpen.

Fik det hele til at virke perfekt med nedestående kode:

Del af form:

<tr>
<td width="95px"><b>Bevægelse:</b><br></td>
<td width="147px"><select name="Overskrift1" onchange="showAndet3(this);" style="font-weight:normal;width:146px;color:#333333;background-color:#FFFFFF;">
<option value=""></option>
<option value="Kontigent">Kontigent</option>
<option value="Indskud">Indskud</option>
<option value="">Anden bevægelse...</option>
</select></td>
<td><input type="text" name="Overskrift2" id="andet3Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</td>
</tr>
<tr>
<td width="95px"><b>Indskud:</b><br></td>
<td width="147px"><select name="Indskud1" onchange="showAndet1(this);" style="font-weight:normal;width:146px;color:#333333;background-color:#FFFFFF;">
<option value=""></option>
<option value="500">500</option>
<option value="">Andet beløb...</option>
</select></td>
<td><input type="text" name="Indskud2" id="andet1Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</td>
</tr>
<tr>
<td width="95px"><b>Indtægt:</b><br></td>
<td width="147px"><select name="Debit1" onchange="showAndet2(this);" style="font-weight:normal;width:146px;color:#333333;background-color:#FFFFFF;">
<option value=""></option>
<option value="150">150</option>
<option value="">Andet beløb...</option>
</select></td>
<td><input type="text" name="Debit2" id="andet2Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</td>
</tr>


Del af side som modtager formen:

Overskrift = request.form("Overskrift1") + request.form("Overskrift2")
Indskud = request.form("Indskud1") + request.form("Indskud2")
Debit = request.form("Debit1") + request.form("Debit2")
Avatar billede roenving Novice
06. juni 2007 - 00:28 #12
Tak for point ;~}
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

IT-JOB

KMD A/S

E2E Tester

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger elementleder til System sektionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Politiets Efterretningstjeneste

Bliv IT-supporter i PET's IT Servicedesk