Ergebnis 1 bis 4 von 4

Thema: [javascript] - dynamische Anzahl von Feldern in <form>

  1. #1
    Unregistriert
    Gast

    Standard [javascript] - dynamische Anzahl von Feldern in <form>

    Halli hallo,

    ich hab da son kleines Problem... irgendwie krieg ichs aufgrund mangelnder Javascriptkenntnisse nicht hin und bei google bin ich auch nicht fündig geworden:
    Ich schreib euch einfach mal was ich habe und was ich gerne anders hätte...
    Code:
    <html>
    <head>
    <title></title>
    <script type="text/javascript">
    function showControls( maxControls )
    {
    	for ( var i = 0; i < maxControls; i++ )
    	{
    		document.myForm.elements[ "input" + i ].style.display = ( i < maxControls ) ? "block" : "none";
    	}
    	
    }
    </script>
    
    </head>
    
    <body>
    
    <form name="myForm">
    Anzahl der Ebenen: 
    <input name="value" onKeyUp="showControls(this.value)" type="text" size="1"><br><br>
    <input name="input0" type="text" value="1. Ebene" style="display:none" size="10" onBlur="if (this.value == '') this.value='1. Ebene'" onClick="if (this.value == '1. Ebene') this.value=''"><br>
    <input name="input1" type="text" value="2. Ebene" style="display:none" size="10" onBlur="if (this.value == '') this.value='2. Ebene'" onClick="if (this.value == '2. Ebene') this.value=''"><br>
    <input name="input2" type="text" value="3. Ebene" style="display:none" size="10" onBlur="if (this.value == '') this.value='3. Ebene'" onClick="if (this.value == '3. Ebene') this.value=''"><br>
    <input name="input3" type="text" value="4. Ebene" style="display:none" size="10" onBlur="if (this.value == '') this.value='4. Ebene'" onClick="if (this.value == '4. Ebene') this.value=''"><br>
    <input name="input4" type="text" value="5. Ebene" style="display:none" size="10" onBlur="if (this.value == '') this.value='5. Ebene'" onClick="if (this.value == '5. Ebene') this.value=''"><br>
    <--- und so weiter--->
    </form>
    </body>
    </html>
    Jetzt hätte ich das ganze am liebsten natürlich irgendwie mit einer if Schleifen gelöst, dass ich nicht bis 100 oder so immer alles manuell eingeben muss und dann sollten da noch 2 Textfelder nebeneinander erscheinen pro Zeile...
    Das was ich da schon habe ist ein Beispielscript von einer anderen HP, dass ich ein wenig umgeändert habe, aber weiter komme ich einfach nicht.
    Please help!!! =)
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [javascript] - dynamische Anzahl von Feldern in <form>

    HTML-Code:
    <html>
    <head>
    <title></title>
    
    <script type="text/javascript">
    function showControls(){
    var maxControls = document.getElementById("wert").value;
    var count="";
        for ( var i = 0; i < maxControls; i++ )
        {
        count = "input" +i;
        document.getElementById(count).style.display = ( i < maxControls ) ? "inline" : "none";
        }
        
    }
    
    function createControls(){
    var zielobj = document.getElementById("controldiv");
    var countControls = document.getElementById("wert").value;
    var space = "&nbsp;";
    var umbruch = "<br />";
    var DaMegaString ="";
    //                         
        
        for ( var i = 0; i < countControls; i++ ){
        
            DaMegaString+="<input name=\"input" + i + "\" id=\"input" + i + "\" type=\"text\" value=\""+ (i+1)+". Ebene\" style=\"display:none;\" size=\"10\" onBlur=\"if (this.value == '') this.value=' " + (i+1) +". Ebene'\" onClick=\"if (this.value == '"+ (i+1)+". Ebene') this.value=''\"    >";
                                 if(countControls%2 == 0){
                                         DaMegaString+=umbruch;
                                     }
                                     else{
                                         DaMegaString+=space;
                                     }
        }
        
    zielobj.innerHTML=DaMegaString;
    }
    </script>
    
    </head>
    
    <body>
    &nbsp;<input type="button" value="controls erzeugen" onclick="createControls(); ">
    <form name="myForm">
    Anzahl der Ebenen: <input name="wert" id="wert" type="text" size="1" value="1">&nbsp;<input type="button" value="controls zeigen" onclick="showControls(); "><br><br>
    <div id="controldiv">
    
    </div>
    </form>
    
    
    </body>
    </html>
    wie das mit den umbrüchen geht musste selber rausfinden
    aber so wird der scheiss erstma dynamisch erzeugt
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  3. #3
    Unregistriert
    Gast

    Standard AW: [javascript] - dynamische Anzahl von Feldern in <form>

    Dankeschön für die schnelel und gute Hilfe!!! =)
    Hab das ganze jetzt noch ein wenig abgeändert...
    Einziges Problem was ich nich gelöst bekomme ist, dass ich noch ein 2.tes textfeld pro Reihe dynamisch erzeugen möchte...
    Kann mir da nochmal jemand helfen?!?
    Dangööööööööööööö

    Code:
    <html>
    <head>
    <title></title>
    
    <script type="text/javascript">
    function showControls(){
    var maxControls = document.getElementById("wert").value;
    var count="";
        for ( var i = 0; i < maxControls; i++ )
        {
        count = "input" +i;
        document.getElementById(count).style.display = ( i < maxControls ) ? "inline" : "none";
        }
        
    }
    
    function createControls(){
    var zielobj = document.getElementById("controldiv");
    var countControls = document.getElementById("wert").value;
    var space = "&nbsp;";
    var umbruch = "<br />";
    var DaMegaString ="";
    //                         
        
        for ( var i = 0; i < countControls; i++ )
    	{
        	DaMegaString+="<input name=\"input" + i + "\" id=\"input" + i + "\" type=\"text\" value=\""+ (i+1)+". Ebene\" style=\"display:none;\" size=\"10\" onBlur=\"if (this.value == '') this.value=' " + (i+1) +". Ebene'\" onClick=\"if (this.value == '"+ (i+1)+". Ebene') this.value=''\">";
            DaMegaString+=umbruch;
        }
        
    zielobj.innerHTML=DaMegaString;
    }
    </script>
    
    </head>
    
    <body>
    <input name="wert" id="wert" type="text" size="1" onKeyUp="createControls();" onBlur="showControls();">
    <form name="myForm">
    Anzahl der Ebenen: <br><br>
    <div id="controldiv">
    
    </div>
    </form>
    
    
    </body>
    </html>

  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [javascript] - dynamische Anzahl von Feldern in <form>

    ich denke es liegt am display:block;

    experimentier doch mal etwas
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. JavaScript: Dynamisches Form - PHP: An DB übergeben
    Von Zentral im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 12.07.2008, 21:37
  2. <form> innerhalb eines anderen <form> möglich?
    Von Ivanman im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 17.08.2007, 16:10
  3. frage zu formular feldern (select) - js (?)
    Von BendOr im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 07.12.2005, 21:11
  4. Simples PHP-Formular mit den Feldern Name und Nachricht
    Von franzl im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 06.09.2005, 08:48
  5. Mit Javascript dynamische Texte anzeigen
    Von MrJava im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 09.11.2004, 15:30

Stichworte

Berechtigungen

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