webForumDet fria alternativet

onchange

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

LR^evil.sidMedlem sedan maj 2002552 inlägg
#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]
CatZMedlem sedan jan. 20022 341 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 ?

LR^evil.sidMedlem sedan maj 2002552 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.

CatZMedlem sedan jan. 20022 341 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>
Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb