Avatar billede cort Nybegynder
08. maj 2001 - 15:40 Der er 14 kommentarer og
2 løsninger

Request på items i selectbox

Hvordan laver man en liste over de items der er i en selectbox uden at de er markeret?

Jeg har følgende side:

<HTML>
<HEAD>
<META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
<TITLE></TITLE>

<SCRIPT LANGUAGE=\"javascript\">

function MoveRelation_OnClick(frm,fromElem,toElem){
    fromRel = eval(\'document.\' + frm + \'.\' + fromElem);
   
    for(i=0;i<fromRel.length;i++){
        if(fromRel[i].selected == true){
            addRelation(toElem,frm,fromRel[i].innerText,fromRel[i].value);
            fromRel[i] = null;
        }
    }
}

function addRelation(to,frm,text,val){
    toObj = eval(\'document.\' + frm + \'.\' + to);
    Obj_Option = document.createElement(\"OPTION\");
    toObj.add(Obj_Option);
    Obj_Option.text = text;
    Obj_Option.value = val;
}

</SCRIPT>

</HEAD>
<BODY>
<P><TABLE WIDTH=\"500\" CELLPADDING=\"0\" CELLSPACING=\"0\" BORDER=\"0\">
<TBODY>
<FORM NAME=\"frmElementMover\" action=\"addpages.asp\" method=\"post\">
<TR>
    <TD CLASS=\"FontFrmHead\"><P>Relations list<BR>
    <SELECT NAME=\"strRelationsList\" CLASS=\"FrmGeneral\" STYLE=\"width:200px;\" SIZE=\"5\">   
        <OPTION VALUE=\"1\">Item 1</OPTION>
        <OPTION VALUE=\"2\">Item 2</OPTION>
        <OPTION VALUE=\"3\">Item 3</OPTION>
        <OPTION VALUE=\"4\">Item 4</OPTION>
        <OPTION VALUE=\"5\">Item 5</OPTION>
    </SELECT>
    </TD>
    <TD WIDTH=\"50\">
    <INPUT TYPE=\"button\" VALUE=\">>\" ONCLICK=\"MoveRelation_OnClick(\'frmElementMover\',\'strRelationsList\',\'strRelationsActive\');return false;\"><BR>
    <INPUT TYPE=\"button\" VALUE=\"<<\" ONCLICK=\"MoveRelation_OnClick(\'frmElementMover\',\'strRelationsActive\',\'strRelationsList\');return false;\">
    </TD>
    <TD CLASS=\"FontFrmHead\"><P>Active relations<BR>
    <SELECT NAME=\"strRelationsActive\" CLASS=\"FrmGeneral\" STYLE=\"width:200px;\" SIZE=\"5\" MULTIPLE>
    </SELECT>
    </TD>
</TR>
<tr><td><input type=\"Submit\" value=\"Godkend\"></td></tr>
</FORM>
</TBODY>
</TABLE>
</P>

</BODY>
</HTML>

Og jeg vil gerne lave en opsamlingsside der lister de værdier der er overført til selectboxen der hedder strRelationsActive
Avatar billede nute Nybegynder
08. maj 2001 - 15:47 #1
skal du overføre fra strRelationsList til strRelationsActive ?
Avatar billede cort Nybegynder
08. maj 2001 - 16:16 #2
nej fra strRelationsActive  til en anden side
Avatar billede cort Nybegynder
08. maj 2001 - 16:16 #3
Det virker fint med at overføre fra strRelationsList til strRelationsActive
Avatar billede nute Nybegynder
08. maj 2001 - 16:33 #4
det du skal gjøre er at samtidig som du legger dine verdier over i strRelationsActive, så legger du dem også over i et hidden field. Du skal (kan) kommaseparere verdiene, så du kan splitte dem på neste side.

u c ?
Avatar billede nute Nybegynder
08. maj 2001 - 16:38 #5
du kunne fx skrive om din addRelation metode til noe ála:

function addRelation(to,frm,text,val){
    newStr  = \"\";
    tmpStr  = eval(\'document.\' + frm).strRelationsTemp.value;
    if( tmpStr.length > 0 ){
      newStr = tmpStr + \",\";
    }
    eval(\'document.\' + frm).strRelationsTemp.value = newStr;
    toObj = eval(\'document.\' + frm + \'.\' + to);
    Obj_Option = document.createElement(\"OPTION\");
    toObj.add(Obj_Option);
    Obj_Option.text = text;
    Obj_Option.value = val;
}

/nute
Avatar billede cort Nybegynder
08. maj 2001 - 16:54 #6
Hvad skal den ændrede funtion gøre. Den har jo ikke meget med den side som formen bliver sendt at gøre.

PÅ den side der modtager formens data havde jeg tænkt mig følende men det virker ikke.

<%

  For iTitleCount=1 to Request.QueryString(\"strRelationsActive\").Count
    Response.Write Request.QueryString(\"strRelationsActive\")(iTitleCOunt)
    Response.Write \"<BR>\"
  Next

%>
Avatar billede cort Nybegynder
08. maj 2001 - 16:57 #7
ok godt jeg fk ikke læst dit svar over den ændrede funktion, jeg kan godt se havd du mener om det vil være fint på den måde som de beskriver.
men den nye funktion virker vist ikke helt jeg får ihverfald en fejlmeddelese som hedder:_

error: strRelationsTemp.value\' is null or not an object
Avatar billede nute Nybegynder
08. maj 2001 - 16:59 #8
du skal bare opprette et hidden field og legge det i ditt formular:

<input type=\"hidden\" name strRelationsTemp\" value=\"\">

:-)
Avatar billede nute Nybegynder
08. maj 2001 - 16:59 #9
hov...

<input type=\"hidden\" name=\"strRelationsTemp\" value=\"\">

skal det være
Avatar billede nute Nybegynder
08. maj 2001 - 17:01 #10
deretter kan du på den mottagende side gjøre noe ála dette:

<%
valArr = SPLIT(request.form(\"strRelationsTemp\"),\",\")
for i=0 to UBOUND(valArr)
  response.write valArr(i) & \"<br>\"
next
%>
Avatar billede cort Nybegynder
08. maj 2001 - 17:49 #11
de virker ikke , der bliver ikke overført noget til
<input type=\"hidden\" name=\"strRelationsTemp\" value=\"\">
Avatar billede nute Nybegynder
08. maj 2001 - 17:54 #12
bytt ut denne linje:
eval(\'document.\' + frm).strRelationsTemp.value = newStr;

med denne:

eval(\'document.\' + frm).strRelationsTemp.value = newStr + val;

/nute
Avatar billede cort Nybegynder
09. maj 2001 - 09:51 #13
Det der lader til at være humlen i det hele er at de informationer der ligger i i select boksen strRelations skal automatisk markeres ved klik på submit knappen. det er bare det der mangler så virker skidtet sgu.
Avatar billede nute Nybegynder
09. maj 2001 - 09:56 #14
hvorfor skal de markeres ??? du har dine verdier i et hidden field som du kan overføre til neste side...
Avatar billede cort Nybegynder
09. maj 2001 - 10:10 #15
Jeg har til føjet selected på option boxen i strRelations select
og denne linje Obj_Option.selected = true;

i function addRelation

så enkelt var det .
Avatar billede cort Nybegynder
09. maj 2001 - 10:10 #16
så du får ikke alle pointene, men lidt for din ulejlighed.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester