PDA

View Full Version : Dropdown meny prob.


Method
2001-06-01, 07:55
Jag använder denna

<form name="foo"><select name="utbildning" size="1" onChange="byt();">
<option value="">-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option value="index.asp?meny=1")>Annan</option></select>

<% If request.QueryString("meny") = "1" Then %><input type="text" name="utbildtext" size="25" maxlength="100"><% End if %></form>

I head´en använder jag

<script>
function byt(){
if(document.foo.bar.options[document.foo.bar.selectedIndex].value!=""){
location.href= document.foo.bar.options[document.foo.bar.selectedIndex].value
}
}
</script>

När jag väljer alternativet annan i dropdownen så kommer inte textrutan fram hur kommer detta sig??

Tack på förhand

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

[Redigerat av Method den 01 jun 2001]

Johnsen
2001-06-01, 08:24
du har skrivit document.foo.bar när selecten heter document.foo.utbildning

------------------
- J-O-H-N-S-E-N -
------------------

Method
2001-06-01, 08:32
Jag hittade presis det, jag bytte name till bar istället för utbild. men det funkar inte ändå. Fattar inte vad det kan vara är det nån som vet?

Är tacksam för all hjälp.

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

[Redigerat av Method den 01 jun 2001]

Jojoxx
2001-06-01, 08:54
Du bör kanske plocka bort text-fältet om man väljer en utbildning igen. Kanske så här;


<body onLoad="check();">
<script language="JavaScript">
function check(){
sel=<%
if(request.QueryString("meny")) then
response.write(request.QueryString("meny"))
else
response.write("0")
end if
%>
if(sel){ document.foo.utbildning.selectedIndex=sel; }
}
</script>

<form name="foo">
<select name="utbildning" size="1" onChange="location.href='index.asp?meny='+this.selectedIndex;">
<option>-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option>Annan</option>
</select>

<% If request.QueryString("meny") = "5" Then %><input type="text" name="utbildtext" size="25" maxlength="100"><% End if %></form>



------------------

/ J

Johnsen
2001-06-01, 09:22
För att slippa ladda om sidan om du växlar mellan utbildningarna kan du göra så här: <head>
<script>
function byt(){
if(document.foo.bar.selectedIndex==5){location.href="index.asp?meny=1"}
if(parent.location.search!=""){location.href="index.asp"}
}
</script>
</head>

<form name="foo">
<select name="bar" size="1" onChange="byt();">
<option>-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option>Annan</option>
</select>

<% If request.QueryString("meny") = "1" Then %>
<input type="text" name="utbildtext" size="25" maxlength="100">
<% End if %>

</form>

------------------
- J-O-H-N-S-E-N -
------------------

Method
2001-06-01, 10:09
Jojox din kod fungerade men när jag laddar om sidan tappar jag alla värden som är inskrivna i Formuläret.

jag provade Johnsen´s kod som inte laddar om men den funkade inte.

kan nån berätta hur man skall göra för att behålla värdena i formuläret ???

------------------
--------------
STARZINGER
Med ett hugg faller inget träd

Johnsen
2001-06-01, 10:24
Kan du visa hur hela ditt formulär ser ut?

------------------
- J-O-H-N-S-E-N -
------------------

Method
2001-06-01, 10:55
här e den



<form action="ansokan_ok.asp" method="post">

<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2"><font face="Verdana" color="#000099"><b>Ans&ouml;kningsformul&auml;r</b><b><br>
</b></font></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>F&ouml;rnamn:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font><font face="Verdana" size="1"><b><br>
</b></font></td>
<td valign="top"><b><input type="text" name="fornamn" size="25" maxlength="100"></b></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Efternamn:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font><font face="Verdana" size="1"><b><br>
</b></font></td>
<td valign="top"><b><input type="text" name="efternamn" size="25" maxlength="100"></b></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Adress:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font><font face="Verdana" size="1"><b><br>
</b></font></td>
<td valign="top"><b><input type="text" name="adress" size="25" maxlength="100"></b></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Postnr:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font><font face="Verdana" size="1"><b><br>
</b></font></td>
<td valign="top"><input type="text" name="postnr" size="8" maxlength="100"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Postadress:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font></td>
<td valign="top"><input type="text" name="postadress" size="25" maxlength="100"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Telefon:</b></font><font face="Verdana" size="1" color="red"><b>*</b></font></td>
<td valign="top"><input type="input" name="telefon" size="25" maxlength="100"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>Mobiltelefon: </b></font></td>
<td valign="top"><input type="text" name="mobil" size="25" maxlength="100"></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="1"><b>E-post:<br>
</b></font></td>
<td valign="top"><b><input type="text" name="epost" size="38" maxlength="100"></b></td>
</tr>


<tr>
<td valign="top"><font face="Verdana" size="1"><b>Utbildning:</b></font></td>
<td valign="top">
<form name="foo">
<form name="foo">
<select name="utbildning" size="1" onChange="location.href='index.asp?meny='+this.selectedIndex;">
<option>-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option>Annan</option>
</select>

<% If request.QueryString("meny") = "5" Then %><input type="text" name="utbildtext" size="25" maxlength="100"><% End if %></form>


</td>
</tr>

<tr>
<td valign="top"><font face="Verdana" size="1"><b>Komentarer:</b></font></td>
<td valign="top"><textarea name="kommentar" cols="40" rows="6"></textarea></td>
</tr>


<tr>
<td align="right" valign="top"></td>
<td valign="top" align="right"><input class="clear" type="reset" value="Rensa f&auml;lt">&nbsp;<input class="send" type="submit" value="G&aring; vidare >>"></td>
</tr>
</table>
<font face="Verdana" size="1" color="red"><b>* </b></font><font face="Verdana" size="1" color="black">Obligatoriska f&auml;lt</font><br>
<br>
<br>
<input type="hidden" name="datum" value="<%=now()%>">
<% ID = Request.Querystring("ID") %>
<% jobb = Request.Querystring("Jobb") %>
<% kontor = Request.Querystring("kontor") %>
<input type="hidden" name="jobbid" value="<%=ID%>">
<input type="hidden" name="jobb" value="<%=jobb%>">
<input type="hidden" name="kontor" value="<%=kontor%>">
<input type="hidden" name="ip" value="<%=ip%>">
</form>



------------------
--------------
STARZINGER
Med ett hugg faller inget träd

Jojoxx
2001-06-01, 12:03
Johnsens variant fungerar för mig. Kanske ett lager kan vara ett alternativ för dig, så behöver du aldrig ladda om sidan.


<script language="JavaScript">
function showLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "visible";
} else if (document.layers){
document.layers[Id].visibility = "show";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "visible";
}
}
function hideLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "hidden";
} else if (document.layers){
document.layers[Id].visibility = "hide";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "hidden";
}
}
</script>

<form name="foo">
<select name="bar" size="1" onChange="if(this.selectedIndex==5){ showLayer('five'); } else { hideLayer('five'); }">
<option>-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option>Annan</option>
</select>
<div id="five" style="position:absolute;top:15px;left:170px;visibility:hidden;">
<input type="text" name="utbildtext" size="25" maxlength="100">
</div>
</form>



------------------

/ J

Method
2001-06-01, 12:44
hehehe min menu på sidan blev helt störd när man körde sccriptet.


<script language="JavaScript" src="http://www.bengtdahlgren.se/jslib/menu/dhtmllib.js"></script>
<script language="JavaScript" src="http://www.bengtdahlgren.se/jslib/menu/navbar.js"></script>
<script language="JavaScript" src="http://www.bengtdahlgren.se/jslib/menu/menu.js"></script>
<script language="JavaScript"></script>


den trycks ihop i högra hörnet
varför sabbas den av den nya koden??
Har du lust att kolla på det.

http://www.bengtdahlgren.se

Där kan du kolla närmare på menyn

Vilka webbläsare funkar koden som jag fick av dig?

Annars funkar den bra.

Tack för hjälpen. :)

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

Jojoxx
2001-06-01, 13:26
Antagligen är det resultatet av att du redan har funktioner som heter showLayer/hideLayer i dina inlänkade script. Enklaste är att döpa om de som jag använda i exemplet till myShowLayer / myHideLayer (OBS, på alla ställen i koden).

Scriptet fungerar i Netscape4+ IE4+ samt alla DOM kompatibla webbläsare.

------------------

/ J

Bendro
2001-06-01, 13:41
Jojoxx förslag med lager kanske kan vara lösningen på mitt problem (se min tråd). Men hur gör jag för att få fram en bild istället för en selectlista, och hur får jag fram den i en annan frame alternativt får den att glida ner över en annan frame och inte bakom?

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

Method
2001-06-01, 14:12
Tackar & Bockar Jojoxx Rockar :)

Tack för all hjälp nu funkar det guld ;)

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

Method
2001-06-01, 14:29
Jag skämms ;) men måste säga att jag provade sidan i NS 4.73 och där fungerade inte javascriptet :(

Hur kommer detta sig????

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

Jojoxx
2001-06-01, 16:18
Method,

Glömde bort det lilla fenomenet i Netscape. Man kan inte lägga ett ensamt textfält (utan omgivange <form> ) på det sättet i Netscape. Då får man helt enkelt göra ett formulär till, där man kopierar värdet till motsvarande fält (gömt i detta fall) i huvudformuläret;


<script language="JavaScript">
function showLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "visible";
} else if (document.layers){
document.layers[Id].visibility = "show";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "visible";
}
}
function hideLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "hidden";
} else if (document.layers){
document.layers[Id].visibility = "hide";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "hidden";
}
}
</script>
<form name="foo">
<select name="bar" size="1" onChange="if(this.selectedIndex==5){ showLayer('five'); } else { hideLayer('five'); }">
<option>-- Välj utbildning --</option>
<option>Brandingenjörer</option>
<option>Civilingenjörer</option>
<option>Gymnasieingenjörer</option>
<option>Högskoleingenjörer</option>
<option>Annan</option>
</select>
<input type="hidden" name="utbildtext">
</form>
<div id="five" style="position:absolute;top:15px;left:170px;visibility:hidden;">
<form>
<input type="text" size="25" maxlength="100" onChange="window.document.foo.utbildtext.value=this.value">
</form>
</div>


------------------

/ J

Method
2001-06-05, 07:29
jag har ett problem till nu med form taggarna så kan jag inte skicka formuläret.

Jag provade i NS igen och nu visas inte kommentar textarean och textrutan visas inte.
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 05 jun 2001]

Jojoxx
2001-06-05, 11:47
Exemplet ovan är testat i en riktigt gammal (4.08) och det fungerar. Tänk på att fältet i lagret måste ligga inom <form></form> för att det skall visas i netscape, alltså ett eget formulär. En länk till sidan skulle även underlätta.

------------------
/ J

Method
2001-06-05, 12:34
ok, skall fixa det för nu ligger den internt.

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd