webForumDet fria alternativet

Får "Objektet stöder inte egenskapen eller medtoden"

JavaScript

22 svar · 515 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

Jag har problem med ett javascript som jag har suttit rätt länge med nu. Denna funktion har jag mellan head-taggarna:

	<script language="javaScript" type="text/javascript">
	function changeregion(reg)
	{
	 if(reg[reg.selectedIndex].value == 0) return;
	 document.member.action = 'registrera.asp?regLan=<%=request.form("regLan")%>';
	 [B]document.member.submit();[/B]
	}
	</script>

Felet ligger på den rad med fetstil.

Så här ser mina select-listor ut:

<select name='regLan' onchange="changeregion(this);" class = 'select' id='select' style="width:139"><br><br>

<%
strDatat = Connect.Execute("select geoLan, geoLanName from geographics order by geoLan asc").GetRows()

	For i = 0 To 21

		response.write "<option value='"&strDatat(0,i)&"'>"&strDatat(1,i)&"</option>" & vbCrLf

	Next

%>
</SELECT>

Hoppas att det inte gör något att asp-kod är med :OO

När man har valt något län ut denna lista så ska man skickas till denna lista här under via funktionen som ligger mellan head-taggarna.

<%
	if request.querystring("regLan") <> "" then

response.write "<br><br>"
		response.write _
			"<tr><td>Stad</td><td>&nbsp;<select name = 'regCty' class = 'select'>"
		sql = "select ctyValues from cities where ctyNr = "&request("regLan")&""
		set rs = connect.execute(sql)
		response.write _
			rs("ctyValues") & "</select></td></tr>"
	end if
%>

Men när jag väljer ett län får jag alltså det javascriptfelmeddelande som står i rubriken.

Medlem sedan feb. 20011 498 inlägg
#2

Ingen som vet?

Medlem sedan feb. 20011 498 inlägg
#3

Verkingen ingen som kan hjälpa mig? :q

Medlem sedan okt. 20005 273 inlägg
#4

hmmm är det nån som vet så postar dem nog ett inlägg :OO

mvh icaaq

Medlem sedan dec. 199962 inlägg
#5

det är inte så att du glömt att skriva formtaggen??
<form name="member">

Medlem sedan aug. 20021 752 inlägg
#6

Finns det något annat objekt som heter member på sidan kanske?

/Viktor

Medlem sedan feb. 20011 498 inlägg
#7

Daze:
Jag har inte glömt form-taggen.

Viktor:
Det finns inget annat objekt som heter member.

Medlem sedan dec. 199962 inlägg
#8

Okej... testade med den kod du hade med där..
Annars kan du ju testa med denna kodsnutten istället.. gör samma sak...

<script language="javaScript" type="text/javascript">
function setDate(selObj,restore){
alert(selObj.options[selObj.selectedIndex].value);
document.member.action = 'registrera.asp?regLan=<%=request.form("regLan")%>';
document.member.submit();
if (restore) selObj.selectedIndex=0;
}
</script>
<form name="member">
<select name='regLan' onchange="setDate(this,0);" class = 'select' id='select' style="width:139">
<option value='1'>hej</option>
<option value='2'>då</option>
<option value='2'>ra</option>
</SELECT>
</form>

Medlem sedan nov. 20017 144 inlägg
#9

ctyNr är väl en integer(ett tal), då rekommenderar jag att du skriver:

sql = "select ctyValues from cities where ctyNr = "&cint(request("regLan"))
Medlem sedan sep. 2002104 inlägg
#10

jag förstår inte funktionens mening?
Du vill ju bara ändra querystringens innehåll?

Dessutom gör raden:
document.member.action = 'registrera.asp?regLan=<%=request.form("regLan")%>';
så att querystringen bara får ett fast värde som inte går att ändra.

Du hade istället behövt skriva:
document.member.action = 'registrera.asp?regLan=' + reg[reg.selectedIndex].value;

men detta är också onödigt.
bättre med ett sånt här formulär bara:

<form name="member" action="registrera.asp" method="get">

<select name="regLan" onchange="if (this[this.selectedIndex].value) submit();">
<option value="">välj nåt län</option>
<option value="någotlän">Någotlän</option>
<option value="annatlän">Annatlän</option>

</select>

</form>

Medlem sedan feb. 20011 498 inlägg
#11

Koden ser nu ut så här:

<script language="javaScript" type="text/javascript"> 
function setDate(selObj,restore){ 
var intLan = selObj.options[selObj.selectedIndex].value;

[B]document.member.submit();[/B] 

self.location.href='registrera.asp?regLan=' + intLan;
if (restore) selObj.selectedIndex=0; 
} 
</script>

Allt funkar som det ska men inte den raden i fetstil, varför?

Jag vill ha med den kodsnutten för annars försvinner ju all data man fyllt i i formuläret när man skickas till self.location.href='registrera.asp?regLan=' + intLan;

Medlem sedan sep. 2002104 inlägg
#12

allt som finns i querystringens skickas ju med även utan raden i fet stil. ( intLan )

du skriver att du vill ha med den kodsnutten för annars försvinner ju all data i formuläret man fyllt i.
med "data i formuläret" menar du alltså inte innehållet i intLan.
intLan innehåller väl namnet på ett län.
I så fall, hur skickar du formulärdatan? med request.form

Varför använder du inte request.form till allt?
Har du olika frames?
Du kanske ska visa all kod!

Medlem sedan feb. 20011 498 inlägg
#13

har formuläret på denna sida:

http://www.ampy.net/registrera1.asp

Men när man väljer län så försvinner allting man har skrivit i formuläret.

Hir ska man göra så att det finns kvar?

Medlem sedan sep. 2002104 inlägg
#14

Aha, nu fattar jag.
Du ska skippa funktionen för den behövs inte.

Istället för:
<select name="regLan" class="msel" onchange="setDate(this,0);" id='select' style="width:139"><br><br>

använd raden:
<select name="regLan" class="msel" onchange="this.form.action='registrera1.asp', this.form.submit()" style="width:139"><br><br>

Med action ändrat till registrera1.asp varje gång ett län väljs i listan
är det ju bara att lägga innehållet i request.form("regLan")
request.form("ovrigt") osv. på rätt ställe.
Finns det nåt skrivet i formuläret kommer ju detta med, finns det inget innehåll i nån ruta
så kvittar det ju, men då är detta i alla fall kontrollerat

Medlem sedan feb. 20011 498 inlägg
#15

Nu får jag samma felmeddelande som förut på denna raden:

<select name="regLan" onchange="this.form.action='registrera1.asp'; this.form.submit()" style="width:139" id="select">

Varför?

Har laddat upp det med den nya raden:
http://www.ampy.net/registrera1.asp

Medlem sedan juni 200032 967 inlägg
#16

Jag vet inte om det har med saken att göra, men på din sida har du kommatecken, och inte semikolon, för att separera satserna i ditt onchange-event.

mvh,

Medlem sedan feb. 20011 498 inlägg
#17

Det funkar ändå inte med semikolon:

http://www.ampy.net/registrera1.asp

Medlem sedan sep. 2002104 inlägg
#18

så här ska raden se ut:
svårt med enkel och dubbelfnuttar ibland:

<select name="regLan" class="msel" onchange="this.form.action='registrera1.asp', this.form.submit()" style="width:139"><br><br>

att separera onchange-eventen med kommatecken, funkar när jag testar på min dator.

Medlem sedan sep. 2002104 inlägg
#19

skriver du ut select-taggen i ren html eller använder du response.write?
Med response.write måste det se ut så här: får inte vara mellanslag efter kommatecken:då får jag fel.

response.write "<select name='regLan' onchange=this.form.action='registrera1.asp',this.form.submit()>"

Kan inte fatta om det inte funkar nu.
Funkar ju utan problems för mig.

Medlem sedan feb. 20011 498 inlägg
#20

Jag skriver ut det i ren html-kod som du har skrivit men det funkar inte ändå. Kan det vara något annat som stör det?

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)