Avatar billede kennedk Nybegynder
27. juni 2007 - 10:44 Der er 10 kommentarer

udvid form

Hej

jeg sidder og laver en side i asp,et skoleprojekt, hvor jeg skal bruge at man kan tilføje så mange felter som man har lyst til. og bag efter skal det smides i hvert sit felt i databasen.

altså jeg skal gerne have lavet mig så man kan tilføje input felter i min form, og en måde på at sætte dem alle sammen i databasen

Håber i kan hjælpe så hurtigst som muligt.
Avatar billede olebole Juniormester
27. juni 2007 - 11:17 #1
<ole>

- og i solidaritet med din lærer og i respekt for din læring (for slet ikke at tale om E's princip om hjælp til selvhjælp), må jeg stille spørgsmålet:
    Hvor langt er du selv kommet?

/mvh
</bole>
Avatar billede kennedk Nybegynder
27. juni 2007 - 11:25 #2
Vi lærer slet ikke javascript, og min lærer kan slet ingenting inden for javascript, så derfor spørger jeg om hjælp her.
Avatar billede olebole Juniormester
27. juni 2007 - 11:31 #3
Med JS kan du indsætte felter - men JS kan ikke gøre noget med en database. Det skal du bruge et serversprog til.

Hvordan ser koden ud, du skal indsætte felter i?
Hvilke felter skal indsættes?
Hvornår skal de indsættes (hvad skal udløse handlingen)?
Avatar billede kennedk Nybegynder
27. juni 2007 - 11:34 #4
ja jeg er ikke helt dum, jeg har sådan styr på asp, som vi sidder og koder i (suk...)

men det er bare javascripten, jeg skal bare have et input felt med noget text i , som jeg så kan hente oplysninger fra en løkke i min asp, så jeg kan smide det i databasen
Avatar billede kennedk Nybegynder
27. juni 2007 - 11:40 #5
hov, det kom da til at lyse arrogant, ikke min mening ;)
Avatar billede kennedk Nybegynder
27. juni 2007 - 11:42 #6
og når det skal udskrives skal det gerne være
<tr>
  <td>input felt 1</td>
  <td><input></td>
</tr>
<tr>
  <td>input felt 2</td>
  <td><input></td>
</tr>
<tr>
  <td>input felt 3</td>
  <td><input></td>
</tr>

Hvis sådan noget kan lade sig gøre.
Avatar billede olebole Juniormester
27. juni 2007 - 12:22 #7
Det kan det sagtens, men jeg bliver nødt til at vide lidt mere. Prøv at beskrive opgaven lidt mere detaljeret. Hvad skal bestemme, hvormange felter der skal indsættes - og hvad skal udløse indsættelsesn?
Avatar billede kennedk Nybegynder
27. juni 2007 - 12:37 #8
Det er nogle varer jeg har i min database som så skal have noget specifikationer, og kunne jo snildt lave så der ville være 20 felter, jeg det ser dumt ud og hvis man nu ønsker 25, så er det at der kommer et problem.

Og hvert felt skal bare kunne skrives ind som en række i databasen.

det skulle vel være ret simpelt for en der kan javascript?
Avatar billede olebole Juniormester
27. juni 2007 - 12:54 #9
Ikke umiddelbart, for JavaScript kan jo intet foretage sig med en DB. Hvis felterne skal indsættes dynamisk - altså f.eks. ved at en bruger trykker på en knap på siden - skal JS jo på forhånd have fået at vide, hvilke varer der ligger i DB'en ... og det bliver let noget rod.

Det lyder umiddelbart, somom du angriber problemet fra en forkert vinkel, men det er ldt svært at slå fast uden bedre indblik i projektet  =)
Avatar billede kennedk Nybegynder
27. juni 2007 - 14:49 #10
Det var ikke til meget hjælp, men det var vel bare fordi jeg ikke kunne forklare mig..
Min løsning på problemet:

<html>
    <head>
        <script type="text/javascript">
            function addRow(elm){
              var tb = document.getElementById("MinTBody");
              var tr = tb.getElementsByTagName("tr")[0];
              var nyTr = tr.cloneNode(true);
              var inps = nyTr.getElementsByTagName("input");
            for(i=0;inps.length>i;i++){
                if(inps[i].type == "text")
                  inps[i].value = "";
              }
              var submitRow = getParent(elm, "tr");
              tb.insertBefore(nyTr,submitRow);
             
            }
            function getParent(elm,TagName){
              var parElm = elm.parentNode;
              while(parElm.tagName.toLowerCase() != TagName.toLowerCase())
                parElm = parElm.parentNode;
              return parElm;
            }
        </script>
    </head>
    <body>

    <%
   
    if session("loginId") <> "" AND session("loginRank") = "1" then
    if request("ok") = "ok" then
    %><!--#include file="../includes/forbindelse.asp"--><%
    OpenConn
    i = 1
    for each spec  in request.form("spec")
        if spec <> "" then
            objConn.execute("INSERT INTO tblSpec (fldTypeId,fldSpec,fldSpecSort) VALUES ("&rsTypeId("fldId")&",'"&spec&"','"&i&"')")
            i = i +1
        end if
    next
    CloseConn
    else
    %>
<form action="?ok=ok" method="post" name="myForm">

<table border="0">
    <tr>
<tbody id="MinTBody">
  <tr>
    <td>Specification</td>
    <td><input name="spec" type="text"></td>
  </tr>
  <tr>
    <td></td>
    <td><div style="text-align:center;margin: 4px;"><a href="#" onclick="addRow(this);return false;" >Tilføj felt til specifikationer</a></div><input name="submit" type="submit" value="OK"></td>
  </tr>
</tbody>
</table>
</form>
    <%
    end if
    end if
    %>
    </body>
</html>
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

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