Calippo Medlem sedan aug. 2002 536 inlägg Frågan 25 mars 2008 09:19 #1 Hur ska man skriva asp-koden för att få med alla värden (option) i en select ruta oavsett om de är markerade eller inte?
Resultatet vill jag ha kommaseparerat: 1,2,3 eller Ett, Två, Tre
<form method="post" name="form1">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="submit" value="SKICKA" />
</form>
<%=request.form("lista")%> så kommer du få 1,2,3 från din lista:
<form method="post" name="form1" action="sammasida.asp">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="submit" value="SKICKA" />
</form>
<%=Request.Form("lista")%>
för att testa.
Calippo Medlem sedan aug. 2002 536 inlägg Det har jag redan provat, men för att få det resultatet så måste jag markera alla i listan... vilket jag inte vill.
@nders Medlem sedan juni 2000 32 967 inlägg Antingen får du köra ett javascript som markerar allt före submit, eller enklast: lägg ett hidden-fält där du lägger alla värden kommaseparerade.
Calippo Medlem sedan aug. 2002 536 inlägg Vad ska jag ersätta // SKRIPT SOM MARKERAR ALLT med?
<html>
<head>
<script>
function selectAll()
{
// SKRIPT SOM MARKERAR ALLT
document.forms.form1.submit();
}
</script>
</head>
<body>
<form method="post" name="form1" action="index.asp">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="button" onclick="selectAll();" value="SKICKA" />
</form>
<%=Request.Form("lista")%>
</body>
</html>
Calippo Medlem sedan aug. 2002 536 inlägg Ska försöka fila vidare på den här:
<HTML>
<HEAD>
<TITLE>Accessories List</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function selectAll(form) {
var result1 = ""
var result2 = ""
var result3 = ""
for (var i = 0; i < form.lista.length; i++) {
// if (form.accList.options[i].selected)
// {
result1 += "\n " + form.lista.options[i].value;
result2 += "\n " + form.lista.options[i].text;
result3 += ", " + form.lista.options[i].value;
// }
}
alert("You have selected:" + result1);
alert("You have selected:" + result2);
alert("You have selected:" + result3);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select> </P>
<input type="button" onclick="selectAll(this.form)" value="SKICKA" />
</FORM>
</BODY>
</HTML>
function selectAll(selectBox,selectAll) {
// have we been passed an ID
if (typeof selectBox == "string") {
selectBox = document.getElementById(selectBox);
}
// is the select box a multiple select box?
if (selectBox.type == "select-multiple") {
for (var i = 0; i < selectBox.options.length; i++) {
selectBox.options[i].selected = selectAll;
}
}
}
och onclick:
<FORM>
<select name="lista" multiple="multiple" id="lista">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select> </P>
<input type="button" onclick="selectAll('lista',true)" value="SKICKA" />
Men frågan är varför har du en selectbox i huvudtaget om användaren inte kan göra sitt val ändå? du kan ju loopa ut resultatet ifrån din asp skript i en <input hidden> som @nders skriver.
Calippo Medlem sedan aug. 2002 536 inlägg Sent svar, glömde av den här tråden helt och hållet.
Orsaken var att den från början är tom och man lägger till värden i den från en annan lista, därför ville jag ha med de tillagda värdena i en submit.
Ursäkta att jag dröjde...