Avatar billede wolfgang Praktikant
15. november 2005 - 12:12 Der er 1 kommentar og
1 løsning

Problemer med rækkefølge

Jeg har et lidt kode, der volder mig problemer.

Jeg har taget udgangspunkt i dette glimrende eksempel.
http://www.eksperten.dk/spm/353258

Mit problem er, at min tabel ikke opdateres med de korrekte værdier.
Det er nemlig ikke alle emnernes rækkefølge der bliver registreret i tabellen, ved opdatering.

Jeg håber at I kan hjælpe.

Her er koden:
<script language="JavaScript">
<!--

var sel;
var selo;

function checkSel ( frm ) {
  sel  = frm.model.selectedIndex;
  selo = frm.model.options;
  if ( 0 > sel ) {
    alert( "Der skal vælges et kursus/modul først" );
    return false;
  };
  return true;
}; //end checkSel ( Form object ) -> boolean

function checkDest ( dest ) {
  if ( 0>dest || dest >= selo.length ) {
    alert( "Det valgte kan ikke flyttes derhen" );
    return false;
  };
  return true;
}; //end checkDest ( integer ) -> boolean

function ombyt ( fra, til ) {
  var tmpTxt      = selo[fra].text;
  selo[fra].text  = selo[til].text;
  selo[til].text  = tmpTxt;
  var tmpVal      = selo[fra].value;
  selo[fra].value = selo[til].value;
  selo[til].value = tmpVal;
  return til;
}; //end ombyt ( integer, integer )

function flytOp( frm ) {
  if ( checkSel( frm ) && checkDest( sel-1 ) )
      frm.model.selectedIndex = ombyt( sel, sel-1 );
}; //end flytOp( form object )

function flytNed( frm ) {
  if ( checkSel( frm ) && checkDest( sel+1 ) )
      frm.model.selectedIndex = ombyt( sel, sel+1 );
}; //end flytNed( form object )

function gemSortering ( frm ) {
  var skj = "";
  selo = frm.model.options;
  for (var i=0; selo.length>i; i++ )
      skj += "," +selo[i].text;
  frm.skjultFelt.value = skj.substring(1);
  return true;
}; //end gemSortering ( form object )

// --> 
</script>

<form name="sfrm" action="?SaveSortOrder=Yes&SubjectID=<%=request.QueryString("SubjectID")%>" onSubmit="return gemSortering(this);" method=post>
  <table border=0 align=left cellpadding="0" cellspacing="0">
  <tr>
    <td><div class="mainContent"><strong>Aktive kurser/moduler for <%=ds1("A_SubjectName")%></strong></div>
        <select name="model" size=10>
<!--  indsæt options med asp eller med håndkraft.  -->
<%
   
    Do while not ds1.eof
        Response.Write "<option>" & ds1("DataField_01") & "</option>"
        ds1.movenext
   
    loop
%>
        </select>    </td>
    <td width="15">&nbsp;&nbsp;&nbsp;</td>
    <td width="100">
    <input type='button' style="cursor:hand; position: relative;top:-4px; width:60; height:21;border:0px; background-image:url(_Images/bt_flytop_0.gif); background-repeat:no-repeat;" onclick='flytOp(this.form)' value=" ">
    <br><br>
   
    <input type='button' style="cursor:hand; position: relative;top:-4px; width:60; height:21;border:0px; background-image:url(_Images/bt_flytned_0.gif); background-repeat:no-repeat;" onclick='flytNed(this.form)' value=" ">
    <br><br>
     
    <input type='submit' value="" style="cursor:hand; position: relative;top:-4px; width:60; height:21;border:0px; background-image:url(_Images/bt_Gem_0.gif); background-repeat:no-repeat;">
       
    <input type='hidden' name='skjultFelt' value=''>    </td>
  </tr>
</table>
</form>


Her gemmes/opdateres ændringerne i tabellen:
arraystr = (request.form("skjultfelt"))
arrayid = Split(arraystr, ",")

    For i = LBound(arrayid) To UBound(arrayid)
        strSQL = "UPDATE tbl_CourseDataTmp SET "
        strSQL = strSQL & "CourseSortOrder = " & i & " "
        strSQL = strSQL & "WHERE DataField_01 = '" & arrayid(i) & "' and SubjectID="& request.QueryString("SubjectID") &""
        set rs = Connect.execute (strSQL)
       
        strSQL = ""   
    Next
   
    Response.Redirect(Request.ServerVariables("HTTP_REFERER"))


Med venlig hilsen
Henrik
Avatar billede wolfgang Praktikant
15. november 2005 - 12:14 #1
Lige meget om der er foretaget en ændring i rækkefølgen eller ej, skal tabellen opdateres med den rækkefølge, der vises for brugeren.
Avatar billede wolfgang Praktikant
15. november 2005 - 13:06 #2
Problem løst.
Mit array's værdier indeholdte "," - det går jo ikke der Splittes efter "," :(

Pinligt!
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