Avatar billede lester_dk Nybegynder
23. januar 2003 - 11:23 Der er 3 kommentarer og
1 løsning

Forms for de hardcore.

Har snuppet eksemplet fra http://www.eksperten.dk/spm/301446 der skulle kunne tilføje fra et felt til en multiform.

Men har jo selvfølgelig problemer med at tilpasse til eget brug.

Det jeg laver er et forsøg på at lave en hurtig shop (lagersalg).

Mit forsøg ser således ud:

function add(hvilken) {
  var frm = document.lagersalg;
  var nummer = "antal" + hvilken;
  var nummer1 = "samlet" + hvilken;
  //var valg = "antal" & hvilken 
  if (frm.(nummer).value.length != 0) {
    alert"Well Done"
    var arrItems = new Array();
    var arrText = new Array();
    var i;
    for (i = 0; i < frm.list.options.length; i++) {
      arrItems[frm.list.options[i].text] = frm.list.options[i].value;   
      arrText[i] = frm.list.options[i].text;
    }
    arrItems[frm.(nummer1).value] = frm.(nummer).value;   
    arrText[i] = frm.(nummer1).value;
    arrText.sort();
    var c;
    for (c = 0; c < arrText.length; c++) {
      var no = new Option();
      no.value = arrItems[arrText[c]];
      no.text = arrText[c];
      frm.list[c] = no;
    }
  }
}

function remove() {
  var frm = document.lagersalg;
  var arrItems = new Array();
  var arrText = new Array();
  var i;
  var j = 0;
  for (i = 0; i < frm.list.options.length; i++) {
    if (!frm.list.options[i].selected) {
      arrItems[frm.list.options[i].text] = frm.list.options[i].value;   
      arrText[i] = frm.list.options[i].text;
      j++;
    }
  }
  arrText.sort();
  var c;
  frm.list.options.length = 0;
  for (c = 0; c < j; c++) {
    var no = new Option();
    no.value = arrItems[arrText[c]];
    no.text = arrText[c];
    frm.list[c] = no;
  }
}

//  End -->
</script>

<KLIP> Nedenstående genereres ud fra en DB. Alt nummeres udfra lagernummer...  så jeg ved tryk på tilføj vil få den rigtige vare tilføjet i et felt nederst på siden. 100% magen til den fra det andet spg. http://www.efusion.it/exp/301446.html og den hedder stadig "list".

<form name="lagersalg" method="post" action="">
<% While not rstLager.eof %>
  <table width="480" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="333333" style="border-collapse: collapse">
    <tr>
      <td colspan="3" bgcolor="cccccc"><strong><%= rstLager("titel")%></strong></td>
      <td width="86">Varenr: <%= rstLager("vareNR")%></td>
      <td width="53">&nbsp;</td>
    </tr>
    <tr>
      <td width="147" rowspan="2" valign="top"><img src="images/lagersalg/<%= rstLager("vareNR")%>.gif" width="142" height="110"></td>
      <td width="57" valign="top">På lager:<br> <strong><%= rstLager("kvantitet")%></strong></td>
      <td width="105" valign="top">Lagersalgspris: **<br>
        kr. <strong><%= rstLager("stk-pris")%></strong></td>
      <td valign="top"> Bestil:
        <input name="antal<%= rstLager("varenr")%>" type="text" size="3">
        stk. </td>
      <td><input type="button" onClick="add(<%= rstLager("varenr")%>)" value="Tilføj"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top">Beskrivelse:<br> <%= rstLager("beskrivelse")%></td>
      <td valign="top"><input type="hidden" name="samlet<%= rstLager("varenr")%>" value="<%= rstLager("Varenr") & rstLager("titel")%>"></td>
    </tr>
  </table>

  <p>
    <% rstLager.movenext
Wend %>
<KLIP>

Problematikken består i at hvis man trykker tilføj.. så smides det antal man har skrevet ned i feltet "list" sammen med værdien af det skjulte felt "samlet" der ligeledes får tilføjet varenummer f.eks. "samlet2"

Håber der er nogen der forstår hvad jeg vil opnå..

Mvh Kenneth Mortensen
Avatar billede jakoba Nybegynder
24. januar 2003 - 14:37 #1
Kan du lægge siden ud på nettet et sted og give et link så vi kan debugge ?
det er svært at gætte hvilken source scriptet arbejder på med alle de asp-koder
Avatar billede lester_dk Nybegynder
27. januar 2003 - 09:13 #2
Avatar billede jakoba Nybegynder
27. januar 2003 - 12:14 #3
Den store fejl var i din <script kommando. atributten language= skal KUN have sprogets navn som værdi, ikke noget med '/'. Det er i type= attributten der kan være en / i den mimetype der angives.

ellers har jeg rettet adresseringen
    frm.(nummer).value.length
til
    frm.elements[nummer].value.length
runde parenteser benyttes kun i regnestykker og i kald af funktioner

og rettet linien
    alert"Well Done"
til
    alert("Well Done");  // alert er en funktion, der skal altid ( ) efter til de parametre funktionen skal bruge

med de ændringer virker det.


<script type="text/JavaScript" language="javascript">
<!-- // Begin

function add(hvilken) {
  var frm = document.lagersalg;
  var nummer = "antal" + hvilken;
  var nummer1 = "samlet" + hvilken;
  if (frm.elements[nummer].value.length != 0) {                          // RETTET linie
    alert("Well Done");                                                  // RETTET linie
    var arrItems = new Array();
    var arrText = new Array();
    var i;
    for (i = 0; i < frm.list.options.length; i++) {
      arrItems[frm.list.options[i].text] = frm.list.options[i].value;   
      arrText[i] = frm.list.options[i].text;
    }
    arrItems[frm.elements[nummer1].value] = frm.elements[nummer].value;    // RETTET linie
    arrText[i] = frm.elements[nummer1].value;                            // RETTET linie
    arrText.sort();
    var c;
    for (c = 0; c < arrText.length; c++) {
      frm.list[c] = new Option( arrText[c], arrItems[arrText[c]] );      // RETTET linie
    }
  }
}

function remove() {
  var frm = document.lagersalg;
  var arrItems = new Array();
  var arrText = new Array();
  var i;
  var j = 0;
  for (i = 0; i < frm.list.options.length; i++) {
    if (!frm.list.options[i].selected) {
      arrItems[frm.list.options[i].text] = frm.list.options[i].value;   
      arrText[i] = frm.list.options[i].text;
      j++;
    }
  }
  arrText.sort();
  var c;
  frm.list.options.length = 0;
  for (c = 0; c < j; c++) {
    frm.list[c] = new Option( arrText[c], arrItems[arrText[c]] );      // RETTET linie
  }
}
//  End -->
</script>


Du har super opstilling og indrykninger. det er dejligt :-))

mvh JakobA
Avatar billede lester_dk Nybegynder
27. januar 2003 - 12:45 #4
Takker for det.... nu skal jeg lege lidt med det..... og tak for hurtigt svar... !!!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel