Ergebnis 1 bis 11 von 11

Thema: mit onclick weitere Input - Felder erzeugen

  1. #1
    mehrSchlecht ist offline Grünschnabel
    registriert
    04-02-2012
    Beiträge
    5

    mit onclick weitere Input - Felder erzeugen

    Hallo Leute,

    ich bin absoluter JavaScript - Anfänger und würde mich freuen wenn mir jemand helfen könnte. Ich versuche seit zwei Tagen einen wahrscheinlich einfaches Problem zu lösen. Ich hab zwar einige Beispiele angeschaut aber ich komme einfach nicht drauf.

    Zum Problem:

    Ich habe einige input - Felder. Ich will dass der User bei Bedarf weitere erzeugt.

    HTML-Code:
    <table id="ingredient">
                                    <p><input type="text" name="name0" size="10">
                                            <select name="value0">
                                                 <option value="0" selected="selected">- bitte wählen -</option>
                                                 <option value="1">&nbsp;</option>
                                                 <option value="2">kg</option>
                                                 <option value="3">g</option>
                                                 <option value="4">l</option>
                                                 <option value="5">ml</option>
                                                 <option value="6">cl</option>
                                                 <option value="7">EL</option>
                                                 <option value="8">TL</option>
                                                    </select>
                                                  <input type="text" name="wert0" size="80">
                                            </p>
    </table>
    <input type="button" onclick="insRow()" value="Insert row">

    HTML-Code:
    <script type="text/javascript">
    function insRow()
    {
        ?????????
    }
    </script>

    Wer kann mir helfen bzw. Tipps oder Ressourcen nennen? Wäre sehr dankbar.

    mfg

  2. #2
    Avatar von kkapsner
    kkapsner ist gerade online Moderator
    registriert
    28-03-2008
    Beiträge
    9.898

    AW: mit onclick weitere Input - Felder erzeugen

    Was hast du probiert? Woran bist du genau gescheitert? Wieviel JS kannst du?

  3. #3
    mehrSchlecht ist offline Grünschnabel
    registriert
    04-02-2012
    Beiträge
    5

    AW: mit onclick weitere Input - Felder erzeugen

    um ehrlich zu sein kann ich absolut kein JavaScript. Ich hab gegoogelt und hab Code gefunden die so etwas ähnliches machen. Konnte es aber nicht umschreiben.

    Dieser Code erzeugt ähnliche Reihen. Aber ich verstehe es nicht.
    HTML-Code:
    <script type="text/javascript">
    function insRow()
    {
    var x=document.getElementById('myTable').insertRow(-1);
    var y=x.insertCell(0);
    var z=x.insertCell(1);
    var i=6;
    
    y.innerHTML='<input type="text" name="ydata[i]">';
    z.innerHTML="Wert ".i;
    
    i=i+1;
    }
    </script>

  4. #4
    Avatar von kkapsner
    kkapsner ist gerade online Moderator
    registriert
    28-03-2008
    Beiträge
    9.898

    AW: mit onclick weitere Input - Felder erzeugen

    Dann solltest du zuerst die Grundlagen von JS lernen.
    Anschließend suchst du den logischen Fehler und den schwachsinnigen Befehl in dem Skript.
    Anschließend beschäftigst du dich ein wenig mit dem DOM (https://developer.mozilla.org/en/DOM) und probierst ein wenig herum.

    Wenn du dann immer noch nicht zum Ziel gekommen ist, zeigst du uns, was du probiert hast, und wir versuchen dir Hilfestellung zu geben.

  5. #5
    mehrSchlecht ist offline Grünschnabel
    registriert
    04-02-2012
    Beiträge
    5

    AW: mit onclick weitere Input - Felder erzeugen

    Ja, hab angefangen das hier zu lesen
    http://www.w3schools.com/js/default.asp

    Hatte nur gehofft dieses eine Probleme schneller zu lösen. Wollte ne kleine Seite für unser Verein machen. Aber ja, nun gut.

    DOM ist also das Schlüsselwort. Danke für den Tipp.

  6. #6
    Avatar von kkapsner
    kkapsner ist gerade online Moderator
    registriert
    28-03-2008
    Beiträge
    9.898

    AW: mit onclick weitere Input - Felder erzeugen

    Siehe es als Chance an, etwas Neues zu lernen.

  7. #7
    Avatar von ein schlauer
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Ort
    Mainz
    Beiträge
    12.803

    AW: mit onclick weitere Input - Felder erzeugen

    Zitat Zitat von mehrSchlecht Beitrag anzeigen
    Hatte nur gehofft dieses eine Probleme schneller zu lösen.
    Welche Probleme?
    Deine einzige "Frage" war:
    Zitat Zitat von mehrSchlecht Beitrag anzeigen
    Dieser Code erzeugt ähnliche Reihen. Aber ich verstehe es nicht.
    Also ist dein Problem, es nicht zu verstehen, welche andere Lösung gibt es, als es dann zu lernen?

  8. #8
    mehrSchlecht ist offline Grünschnabel
    registriert
    04-02-2012
    Beiträge
    5

    AW: mit onclick weitere Input - Felder erzeugen

    Ich hab ein gutes Tutorial für "DOM" auf Deutsch gefunden.

    http://www.peterkropff.de/site/javas...nipulation.htm

    Ich habe eine einfache Lösung für diesen Fall und zwar mit cloneNode. Es funktioniert auch zumindest unter Firefox und Chrome. Wollte aber mal deine Meinung dazu hören ob es nicht evtl. Problem geben könnte.

    HTML-Code:
    <script type="text/javascript">
                <!--
                function setStart()
                {
                    dolly  = document.getElementById('cloneMe').cloneNode(true);
                    document.getElementById('noClone').appendChild (dolly);
                }
    </script>
    HTML-Code:
    <table>
                    <p id="cloneMe"><input type="text" name="menge[]" size="10">
                        <select name="einheit[]">
                                <option value="0" selected="selected">- bitte wählen -</option>
                                <option value="1">&nbsp;</option>									
                        </select>
                        <input type="text" name="zutat[]" size="80">
                    </p>
                    <p id="noClone"><input type="text" name="menge[]" size="10">
                        <select name="einheit[]">
                                <option value="0" selected="selected">- bitte wählen -</option>
                                <option value="1">&nbsp;</option>									
                        </select>
                        <input type="text" name="zutat[]" size="80">
                    </p>         
    </table>
    
    <a href="#" onclick="setStart();">Zeigen</a>
    Übrigens, danke für den Tip mit DOM. Wusste vorher nicht wonach ich suchen sollte
    Geändert von mehrSchlecht (08-02-2012 um 21:40 Uhr)

  9. #9
    Avatar von kkapsner
    kkapsner ist gerade online Moderator
    registriert
    28-03-2008
    Beiträge
    9.898

    AW: mit onclick weitere Input - Felder erzeugen

    <a href="#">? Invalide und sinnfrei!

    Ansonsten solltest du dringend dein HTML validieren.

    Der Ansatz mit .cloneNode klingt nicht schlecht... soweit ich das sehe, erzeugst du damit aber ein <p> zu viel und außerdem ein zweites Element mit der ID "cloneMe" - IDs müssen dokumentenweit eindeutig sein.

  10. #10
    mehrSchlecht ist offline Grünschnabel
    registriert
    04-02-2012
    Beiträge
    5

    AW: mit onclick weitere Input - Felder erzeugen

    Funktioniert leider mit einem kleinen Nebeneffekt - also nicht wirklich brauchbar. Leider wird der Inhalt des input - feldes mit kopiert. Evtl. könnte man den Inhalt löschen. Aber, da fängt es an sinnfrei zu werden...

    Hab den Script mal hochgeladen:

    http://javascripttest.ja.ohost.de/nodeClone.html

    Beide IDs sind eindeutig. Es sind zwei p - tags mit zwei unterschiedlichen IDs. Wenn ich das nicht so mache wird die Kopie potenziert. Also beim ersten mal 1 danch 2 , 4, 8 Felder. So wird es nur einmal kopiert.

    Zitat Zitat von kkapsner Beitrag anzeigen
    <a href="#">? Invalide und sinnfrei!
    Warum? Soll ich einen normalen Submit - Button nehmen?
    Geändert von mehrSchlecht (09-02-2012 um 19:43 Uhr)

  11. #11
    Avatar von kkapsner
    kkapsner ist gerade online Moderator
    registriert
    28-03-2008
    Beiträge
    9.898

    AW: mit onclick weitere Input - Felder erzeugen

    Die beiden ursprünglichen IDs sind eindeutig, das sehe ich. ABER die neu eingebundenen Elemente haben durch das Clonen die gleiche ID. Schau' dir das Ganze einfach mal mit einem DOM-Inspektor an (z.B. Firebug im Firefox), nachdem du ein paar Elemente geklont hast.

    Lass' das href einfach komplett weg.

Ähnliche Themen

  1. jquery Autocomplet weitere Felder füllen
    Von Xeramos im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 25-06-2010, 21:36
  2. Antworten: 4
    Letzter Beitrag: 10-05-2010, 16:32
  3. Antworten: 4
    Letzter Beitrag: 22-04-2010, 00:04
  4. onclick mag nicht, aber auch weitere Fehler im IE
    Von christianstrang im Forum Script-Check
    Antworten: 1
    Letzter Beitrag: 26-11-2007, 16:07
  5. select füllt weitere Felder mit Daten aus MySQL
    Von dottore im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 17-08-2005, 18:02

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •