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 Hur ser din kod ut? Har du en URL till sidan?
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;">>></a><br><br>
<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list21'],document.forms[0]['list11'],false); return false;"><<</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 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
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 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 Okej. Jag har inte tid att testa någonting nu, men jag sätter en gammal gubbhatt på att "problemet" är javascriptrelaterat. ;)
mvh
J.N.Medlem sedan apr. 20031 660 inlägg 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.
ä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. :)
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 Va, har du inte markerat något, kvinna! :e
Hur ser funktionen som körs vid submit ut?
@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>
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);">
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;">>></a><br><br>
<a HREF="#" onClick="moveSelectedOptions(document.forms[0]['list21'],document.forms[0]['list11'],false); return false;"><<</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>
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" ......>
*snyft*
Nä, det funkar inte nu heller. :(
*åkallar gudarnas vrede över JavaScriptet*
OveRRidEMedlem sedan feb. 200112 078 inlägg 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. :)
hmm, jag testade själv javascriptet nyss och det funkar!
skrev du med id-taggen?
du kanske lär visa hela din kod igen! :(
ähhh, vänd på scripten så funkar det! :)
<form method="post" action="XXXXXXXXXXX.asp" name="mittForm" onSubmit="selectAllOptions(document.getElementById('list21')); return formKoll();">