webForumDet fria alternativet

Select som inte bär med information

21 svar · 501 visningar · startad av annesophie

annesophieMedlem sedan juni 20012 236 inlägg
#1

Hej,

Använder det här scriptet, Moving Values Between Select Boxes WITHOUT auto-sort, som nitro2k01 föreslog i en annan tråd.

Har dock problem med att få med mig informationen som man lägger över i SELECT-boxen till höger, även kallad "List21", till min databas.

Jag vet inte riktigt om detta är en ASP-fråga eller om det handlar om JavaScript, moderatorn får väl isåfall flytta tråden, men varför följer inget värde från "List21" med till min INSERT?

Kan någon ge mig råd?

/A

@ndersMedlem sedan juni 200032 969 inlägg
#2

Hur ser din kod ut? Har du en URL till sidan?

annesophieMedlem sedan juni 20012 236 inlägg
#3

Förlåt... :r

Jag har inget live, så att säga, sidan ligger på utvecklingsservern och den är spärrad för externa besökare.

Men man kan ju ganska enkelt använda koden på sidan jag länkade till. Enda skillnaden är att min höger-SELECT är helt tom från början.

<form method="post">
<table BORDER=0>
<tr>
	<td>
	<select NAME="list11" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form['list11'],this.form['list21'],false)">
		<option VALUE="Externals">Externals</option>
		<option VALUE="Enclosures">Enclosures</option>
		<option VALUE="Open">Open Frame</option>

		<option VALUE="Jane">Cassette</option>
		<option VALUE="Mary">UPS</option>
	</select>
	</td>
	<td VALIGN=MIDDLE ALIGN=CENTER>
		<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list11'],document.forms[0]['list21'],false);return false;">&gt;&gt;</a><br><br>
		<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list21'],document.forms[0]['list11'],false); return false;">&lt;&lt;</a><br><br>
	</td>
	<td>
	<select NAME="[b]list21[/b]" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form['list21'],this.form['list11'],false)">
		
	</select>
	</td>
</tr>
</table>
</form>

När jag så efter onSubmit av formuläret begär in List21:

dim List21
List21 = request.form("List21")
response.write List21

...så är den alltid tom. De värden som man alltså för över till den högra SELECT-boxen går inte vidare till INSERT.

Det är väl som vanligt...jag missar något vitalt! ;)

RED/ lade till den korrekta FORM-taggen

@ndersMedlem sedan juni 200032 969 inlägg
#4

En anledning till att du inte får ut något med request.form är att du inte har angett någon metod i din <form>-tagg. Då blir det per default metoden get, och du måste använda request.querystring.

mvh

annesophieMedlem sedan juni 20012 236 inlägg
#5

Ah, förlåt igen (mjölkstockning i hjärnan!)...

Men det står egentligen <form method="post"> i FORM-taggen i det riktiga formuläret - och LIst21 följer ändå inte med.

Så, det är väl nåt annat som spökar... *suck*

J.N.Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

Får man gissa att du (även) har problem med att förstå vad du får från listan? (fast, det är "Moving up and down", men värdena bör bli likadana.)

Isåfall är svaret här, det kommer med &-tecken mellan sig.
Här använder jag det för att ordna nyheter i en mellantabell (nyheterna kan höra till olika sidor)

'radera alla poster i mellan-tema-tabellen
Databas.Execute("DELETE FROM Mnyhetsbrev_nyhet WHERE nyhetsbrev_id=" & id)
	
'kommer som 2&19&13, dvs nyhets_id&nyhets_id 
ordning = request.form("ordning")
array_ordning = Split(ordning, "&") '2, 19, 13 (array)
For i=0 To Ubound(array_ordning)
	Databas.Execute("INSERT INTO Mnyhetsbrev_nyhet (nyhetsbrev_id, nyhet_id) VALUES (" & id & ", " & array_ordning(i) & ")")
Next

Tur jag kollade tråden innan jag postade, hade förslagit "vad får du får querystring" som fråga också.

@ndersMedlem sedan juni 200032 969 inlägg
#7

Okej. Jag har inte tid att testa någonting nu, men jag sätter en gammal gubbhatt på att "problemet" är javascriptrelaterat. ;)

mvh

annesophieMedlem sedan juni 20012 236 inlägg
#8

J.N. skrev:

HEJ!

Får man gissa att du har problem med att förstå vad du får från listan?

Isåfall är svaret här, det kommer med &-tecken mellan sig.
Här använder jag det för att ordna nyheter i en mellantabell (nyheterna kan höra till olika sidor)

'radera alla poster i mellan-tema-tabellen
Databas.Execute("DELETE FROM Mnyhetsbrev_nyhet WHERE nyhetsbrev_id=" & id)
	
'kommer som 2&19&13, dvs nyhets_id&nyhets_id 
ordning = request.form("ordning")
array_ordning = Split(ordning, "&") '2, 19, 13 (array)
For i=0 To Ubound(array_ordning)
	Databas.Execute("INSERT INTO Mnyhetsbrev_nyhet (nyhetsbrev_id, nyhet_id) VALUES (" & id & ", " & array_ordning(i) & ")")
Next

Tur jag kollade tråden innan jag postade, hade förslagit "vad får du får querystring" som fråga också.

...QUE? :q

J.N.Medlem sedan apr. 20031 660 inlägg
#9

HEJ!

Ja, du fick två svar på samma gång, varav det ena fick @nders svar på (vad innehåller querystring (post/get)) och det andra är hur du spar värdena när du väl får tag i dem. Ren bonus alltså!
Fast jag kom på att det inte var svar på exakt det du frågade, utan en variant.

Eftersom det endast fanns två inlägg när jag började skriva fanns det inte så mycket att gå efter.

doggelitoMedlem sedan juni 20003 076 inlägg
#10

är dina values markerad i selectboxen innan du postar formuläret?
eftersom du har multiple på så måste alla vara markerad för att följa med postningen. :)

annesophieMedlem sedan juni 20012 236 inlägg
#11

doggelito skrev:

är dina values markerad i selectboxen innan du postar formuläret?
eftersom du har multiple på så måste alla vara markerad för att följa med postningen. :)

Aha...dar ar problemet :r ... :f

Hur gor jag samtliga val i SELECT-boxen List21 markerade da sa att dom foljer med?

@ndersMedlem sedan juni 200032 969 inlägg
#12

Va, har du inte markerat något, kvinna! :e

Hur ser funktionen som körs vid submit ut?

annesophieMedlem sedan juni 20012 236 inlägg
#13

@nders skrev:

Va, har du inte markerat något, kvinna! :e

Jag förstår att jag borde skämmas... ;)
Gud i himmelen vad jag avskyr JavaScript!

<form method="post" action="xxxxxxx" name="mittForm" onSubmit="return formKoll();">

<script language="JavaScript">
<!--
function formKoll()
{

	if(window.document.mittForm.companyName.value==0)		
	{
		window.alert("Please state your company name!");
		return false;
	}
	if(window.document.mittForm.companyAddress.value==0)		
	{
		window.alert("Please state your company address!");
		return false;
	}
	if(window.document.mittForm.CompanyPostCode.value==0)		
	{
		window.alert("Please state your company post code!");
		return false;
	}
	if(window.document.mittForm.CompanyCity.value==0)		
	{
		window.alert("Please state your company location (city)!");
		return false;
	}
	if(window.document.mittForm.CompanyCountry.value==0)		
	{
		window.alert("Please state your company location (country)!");
		return false;
	}
	if(window.document.mittForm.TechContactName.value==0)		
	{
		window.alert("Please state your technical contact!");
		return false;
	}
	if(window.document.mittForm.TechContactPhone.value==0)		
	{
		window.alert("Please state your technical contact phone number!");
		return false;
	}
	if(window.document.mittForm.TechContactEmail.value==0)		
	{
		window.alert("Please state your technical contact email!");
		return false;
	}
	if(window.document.mittForm.List21.value==0)		
	{
		window.alert("Please select Application Area!");
		return false;
	}
}
//-->
</script>
doggelitoMedlem sedan juni 20003 076 inlägg
#14

jag är inte heller kompis med java-script så du är inte ensam! :)
denna kod fick jag av nån nån gång, bör funka!


function selectAllOptions(obj) {
	for (var i=0; i<obj.options.length; i++) {
		obj.options[i].selected = true;
		}
}

sen tror jag att du kan skriva så här i formtaggen:


<form method="post" action="xxxxxxx" name="mittForm" onSubmit="return formKoll();selectAllOptions(this.form.list21);">
annesophieMedlem sedan juni 20012 236 inlägg
#15

Nej, det verkar inte funka...ja om inte jag gör något väldigt fel då. Får inga felmeddelanden dock, innehållet i List21 kommer bara inte med. *suuuuuuuuuuuck*

Jag blir så ledsen! :( WARUM?

<HEAD>

<script language="JavaScript">
<!--
function selectAllOptions(obj) {
	for (var i=0; i<obj.options.length; i++) {
		obj.options[i].selected = true;
		}
}
//-->
</script>

</HEAD>

<BODY>

<form method="post" action="XXXXXXXXXXX.asp" name="mittForm" onSubmit="return formKoll();selectAllOptions(this.Form.list21);">

<table BORDER=0>
<tr>
	<td>
	<select NAME="list11" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form['list11'],this.form['list21'],false)">
		<option VALUE="Externals">Externals</option>
		<option VALUE="Enclosures">Enclosures</option>
		<option VALUE="Open">Open Frame</option>

		<option VALUE="Jane">Cassette</option>
		<option VALUE="Mary">UPS</option>
	</select>
	</td>
	<td VALIGN=MIDDLE ALIGN=CENTER>
		<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list11'],document.forms[0]['list21'],false);return false;">&gt;&gt;</a><br><br>
		<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list21'],document.forms[0]['list11'],false); return false;">&lt;&lt;</a><br><br>
	</td>
	<td>
	<select NAME="list21" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form['list21'],this.form['list11'],false)">
		
	</select>
	</td>
</tr>
</table>

</FORM>
</BODY>
doggelitoMedlem sedan juni 20003 076 inlägg
#16

testa så här då:

<form method="post" action="XXXXXXXXXXX.asp" name="mittForm" onSubmit="return formKoll();selectAllOptions(document.getElementById('list21'));">

moderator:
- du kan flytta denna tråd till java-script om du vill! :)

red
ops! glömde, du måste ha en id-tagg i selectboxen!

<select id="list21" ......>
annesophieMedlem sedan juni 20012 236 inlägg
#17

*snyft*

Nä, det funkar inte nu heller. :(

*åkallar gudarnas vrede över JavaScriptet*

OveRRidEMedlem sedan feb. 200112 078 inlägg
#18

Okej, okej, jag kommer.

Två rapporteringar, en notering i tråden samt ett PM om att tråden skall flyttas. Det var värst vad ni var på hugget idag. ;)

Flyttas härmed, å det bestämdaste, från ASP, VBScript. :)

doggelitoMedlem sedan juni 20003 076 inlägg
#19

hmm, jag testade själv javascriptet nyss och det funkar!
skrev du med id-taggen?
du kanske lär visa hela din kod igen! :(

doggelitoMedlem sedan juni 20003 076 inlägg
#20

ähhh, vänd på scripten så funkar det! :)

<form method="post" action="XXXXXXXXXXX.asp" name="mittForm" onSubmit="selectAllOptions(document.getElementById('list21')); return formKoll();">
136 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)