Avatar billede filip_b_l Nybegynder
25. juli 2005 - 15:42 Der er 11 kommentarer og
1 løsning

Tilføj ekstra linie i html-side

X Jeg har brug for et stykke kode som vil tilføje en linie i min html-kode... jeg tænkte at det nok var javascript - derfor denne kategori!
Altså jeg har en formular med nogen ens linier som brugeren skal kunne tilføje flere af uden af reloade siden... altså

--demo--
<form action=test.php>
<input type=text name=navn>
Felter:
<input type=text name=stk[]> stk <input type=text name=beskrivelse[]>
<input type=text name=stk[]> stk <input type=text name=beskrivelse[]>
<input type=text name=stk[]> stk <input type=text name=beskrivelse[]>

---- demo slut---

Brugeren skal så have en plus knap hvor han kan tilføje flere linier efter de tre "standard"... altså linien:
<input type=text name=stk[]> stk <input type=text name=beskrivelse[]>

Hvordan gør jeg lige det?
Avatar billede roenving Novice
25. juli 2005 - 16:16 #1
Kig f.eks. på denne: http://www.eksperten.dk/spm/634544 !-)
Avatar billede elskermad.dk Nybegynder
25. juli 2005 - 16:18 #2
<form action=test.php>

<input type=text name=navn>
Felter:

<div id='content'>
  <input type=text name=stk[]> stk <input type=text name=beskrivelse[]><br>
  <input type=text name=stk[]> stk <input type=text name=beskrivelse[]><br>
  <input type=text name=stk[]> stk <input type=text name=beskrivelse[]><br>
</div>

<a href='#' onClick='document.getElementById("content").innerHTML = document.getElementById("content").innerHTML + "<input type=text name=stk[]> stk <input type=text name=beskrivelse[]><br>"'>indsæt række</a>
Avatar billede roenving Novice
25. juli 2005 - 16:21 #3
>>elskermad

-- klart en metode, men hvorfor bruger du ikke addByValue, så koden bliver mere overskuelig:

<a href='#' onClick='document.getElementById("content").innerHTML += "<input type=\'text\' name=\'stk[]\'> stk <input type=\'text\' name=\'beskrivelse[]\'><br>"'>indsæt række</a>

-- man skal bare være opmærksom på, at den ikke holder til xhtml og andre nye standarder !-)
Avatar billede softspot Forsker
25. juli 2005 - 16:24 #4
Sad lige og flikkede denne sammen (mens de andre svarede :)):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >

<html>
  <head>
    <title>testDynHtml</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
    <script type="text/javascript">
        function addText()
        {
            var frm = document.forms[0];
            if(frm)
            {
                var obj = document.createElement("input");
                obj.name = "stk";
                obj.type = "text";
                frm.appendChild(obj);
               
                obj = document.createTextNode(" stk ");
                frm.appendChild(obj);

                obj = document.createElement("input");
                obj.name = "beskrivelse";
                obj.type = "text";
                frm.appendChild(obj);

                obj = document.createElement("br");
                frm.appendChild(obj);
            }
        }
    </script>
  </head>
  <body MS_POSITIONING="GridLayout">
   
    <form id="Form1" method="post" runat="server">
        <input type="button" name="addtxt" value="ny tekst" onclick="addText()"><br><br>
        <input type="text" name="stk"> stk <input type="text" name="beskrivelse"><br>
        <input type="text" name="stk"> stk <input type="text" name="beskrivelse"><br>
        <input type="text" name="stk"> stk <input type="text" name="beskrivelse"><br>
    </form>
   
  </body>
</html>
Avatar billede softspot Forsker
25. juli 2005 - 16:30 #5
Jeg kan se at princippet er lidt det samme som den roenving henviser til :)
Avatar billede roenving Novice
25. juli 2005 - 16:33 #6
-- der er et problem ved at gøre det uden et omkransende element, nemlig at den logiske placering af en submit-knap nederst ikke vil du ...
Avatar billede elskermad.dk Nybegynder
25. juli 2005 - 16:34 #7
fordi jeg ikke lige kunne huske hvad den metode hed i javascript roenving ;) ikke lige frem der jeg har min stærke side, men når man har en brugbar løsning kan man jo lige så godt prøve at hjælpe! om den så er effektiv eller ej :D
Avatar billede filip_b_l Nybegynder
25. juli 2005 - 18:29 #8
Jeg fik elskermad.dk's forslag til at fungere... roenvings addbyvalue ting fungerede ikke, og jeg gad ikke lege mere med det når nu det andet virkede! Smider du lige et svar elskermad.dk??
Avatar billede roenving Novice
25. juli 2005 - 20:03 #9
Så har du lavet andre fejl, for måden at konkatenere eller addere noget til en variabel i javascript er:

var txt = "tekst";
txt += " m.m.";
alert(txt);

-- men du har jo så ikke benyttet de ellers i nyere html-standarder (nåja, kun siden 1998 !-) obligatoriske gåseøjne/apostroffer !-)
Avatar billede elskermad.dk Nybegynder
25. juli 2005 - 20:17 #10
jamen det gør jeg da :) håber det kan bruges
Avatar billede softspot Forsker
25. juli 2005 - 23:15 #11
roenving >> Under antagelse af at din kommentar 25/7 16:33:07 var til mit indlæg, så enig. Jeg havde for øje at vise princippet, så regnede jeg med at filip_b_l selv kunne gennemskue hvad der skete og selv kunne lave de sidste rettelser... men det ser ud til at det er ligemeget da både du og elskermad.dk jo har postet funktionelle svar :)
Avatar billede filip_b_l Nybegynder
26. juli 2005 - 22:18 #12
roenving. Det som jeg tror var problemet var dine ' som fik min html fortolker til at tro at link-koden var færdigt og lavede derfor et link med de efterfølgende text-inputs... jeg kan ikke give bedre bud... men i hvert fald tak til dig også... hvis du er utilfreds over pointfordeling, så smid lige et svar også, så må i jo dele! Men Tak!
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