webForumDet fria alternativet
Logga in / Bli medlem

onchange

JavaScript

3 svar · 253 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Trådstart#1

hej på er!

tänkte testa en ny sak och eftersom jag inte kan någon java så tänkter jag att jag frågar er istället.

jag sökte här i forumet på "onchange" men hittade inget, inget som jag förstod alltså.
----------------------------------------
har hittat en bit kod på en sida:

	function changeIt(reg)
	{
	 if(reg[reg.selectedIndex].value == 0) return;
	 document.changestuff.action = 'changestuff.asp';
	 document.changestuff.submit();
	}

som är hopkopplad med:

<form action = 'changestuff.asp' method = 'post'>
<select name='valNu' onchange='changeIt(this);'>
	<option value='0" selected> välj </option>
	<option value='1">val 1</option>
	<option value="2">val 2</option>
</select>
</form>

jag kommer använda mig av asp för att fylla optionerna. sedan ska den visa en till "<select>" beroende på vilket val du gjorde:

<select name='val1'>
	<option value='0' selected> val 1 </option>
	<option value='1'>val 1:1</option>
	<option value='2'>val 1:2</option>
</select>
<select name='val2'>
	<option value='0' selected> val 2 </option>
	<option value='1'>val 2:1</option>
	<option value='2'>val 2:2</option>
</select>

felmeddelande:

line: 30
char: 4
error: 'document.changestuff' is not an object
code: 0
url: [url]http://treasure.d2g.com/changestuff.asp[/url]
Medlem sedan jan. 20022 440 inlägg
#2

Jag försöker göra ungefär det du håller på med. Jag har en meny/lista med 6 lag som tas fram från databasen.

De 6 lagen ska möta varandra så det blir 3 matcher. 3 matcher * 1+1 lista med de 6 lagen. Det är bara det att jag vill att när jag väljer lag i första menyn/listan så ska det laget inte vara med i följande listor.

Alttså blir det såhär. Första listan finns det 6 lag, i nästa 5 lag i nästa 4 lag osv. Ganska precis det du är ute efter men med en tvist ;)

Hur fixar man detta ? Javascript väl ? eller går det med ASP ?

Medlem sedan maj 2002560 inlägg
#3

det går att göra med asp, men då måste du ladda om sidan efter varje val och det är det jag vill komma ifrån.

Medlem sedan jan. 20022 440 inlägg
#4

Jo jag vill inte heller hålla på att ladda sidan igen... det kommer gå för långsamt eftersom det är en ordentligt stor sida. Och modem användare som ska ladda den.

hittade detta länk

men vet inte om det hjälper nåt.. jag förstod iaf ingenting av det.

hehe hittade något kul som är svår bregripligt :)

<%@ Language=VBScript%>

<html>
<head>
<script language=javascript>
function refresh()
{
var coll = document.thisForm.&#39015;&#23458;&#12510;&#12473;&#12479;&#12540;
document.location.href="<%= Request.ServerVariables("SCRIPT_NAME") %>?selected=" + coll.options[coll.selectedIndex].value;
}
</script>

</head>
<BODY>

<%
  set cn = server.createobject("ADODB.Connection")
  cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath(mBaseDir & "&#12510;&#12473;&#12479;&#12540;2.mdb")
  set rs = cn.execute("SELECT distinct &#20303;&#25152;1 from &#12510;&#12473;&#12479;&#12540;") 
if not rs.EOF or not rs.BOF then
sel = rs("&#20303;&#25152;1")
end if
%>
<br>&nbsp;<br>
<center>
&#12522;&#12473;&#12488;&#12508;&#12483;&#12463;&#12473;&#36899;&#21205;
</center>
<p>
<FORM name=thisForm METHOD=post>

<select id=&#39015;&#23458;&#12510;&#12473;&#12479;&#12540; name=&#39015;&#23458;&#12510;&#12473;&#12479;&#12540; onchange=refresh()>
<%
do while not rs.EOF
if Request.QueryString("selected") = rs("&#20303;&#25152;1") then
Response.Write "<option value=""" & rs("&#20303;&#25152;1") & """ selected>" & rs("&#20303;&#25152;1") & vbcrlf
sel = rs("&#20303;&#25152;1")
else
Response.Write "<option value=""" & rs("&#20303;&#25152;1") & """>" & rs("&#20303;&#25152;1") & vbcrlf
end if
rs.movenext
loop

%>
</select>
&nbsp;
<select id=&#20303;&#25152;>
<%

  set cn = server.createobject("ADODB.Connection")
  cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath(mBaseDir & "&#12510;&#12473;&#12479;&#12540;2.mdb")
  set rs = cn.execute("SELECT * from &#12510;&#12473;&#12479;&#12540; where &#20303;&#25152;1 = '" & sel & "'") 

do while not rs.eof
Response.Write "<option value=""" & rs("&#20303;&#25152;2") & """>" & rs("&#20303;&#25152;2")
rs.MoveNext
loop

%>
</select>
</FORM>
<p>

</body>
<%Set bc=Nothing%>
</html>
253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)