Jürgen: IF/Else

Hallo an euch alle,
habe eine Frage zu HTML und hoffe dass ihr mir helfen könnt.
Habe einen Rechner mit Eingabefeldern geschrieben.
Die Ergebnisse habe ich mit innerhtml (javascript) unter den Rechner gepackt.

<p id="content"></p>  
        <p id="content2"></p>  
        <p id="content3"></p>  
        <br>  
        <p id="content4"></p>  
        <p id="content5"></p>  
        <br>  
        <p id="content6"></p>  
        <p id="content7"></p>  
        <p id="content8"></p>

Nun stehe ich vor folgendem Problem.
Wenn ich im ersten Eingabefeld nichts reinschreibe ist content,content2,content3 leer.
Und der Text wird erst ab content4 wieder gezeigt. Das ist auch alles richtig. Bloß wie bekomme ich es nun hin das der Text von content4,content5 nun an der Stelle von content,con.2,con.3 sitzt?

Ich hoffe ihr könnt mich verstehen und meine Frage beantworten.
Liebe Grüße Jürgen

  1. hi,

    <p id="content"></p>

    <p id="content2"></p>
            <p id="content3"></p>
            <br>
            <p id="content4"></p>
            <p id="content5"></p>
            <br>
            <p id="content6"></p>
            <p id="content7"></p>
            <p id="content8"></p>

    
    >   
    > Wenn ich im ersten Eingabefeld nichts reinschreibe ist content,content2,content3 leer.  
    > Und der Text wird erst ab content4 wieder gezeigt. Das ist auch alles richtig. Bloß wie bekomme ich es nun hin das der Text von content4,content5 nun an der Stelle von content,con.2,con.3 sitzt?  
    
    muss wirklich der Text von einem Element ins andere Verschoben werden oder können auch die DIVs content0-3 einfach ausgeblendet werden. Zweitieres könnte man so realisieren:  
    ~~~javascript
      
    var Contents = new Array('', '2', '3');  
    for(var Zaehler = 0; Zaehler < Contents.length; Zaehler++)  
      document.getElementById('content'+Contents[Zaehler]).style.display = 'none';  
    
    

    Ansonsten müsstest du eben so arbeiten:

      
    var Kopieren = {content4: 'content2', content5: 'content3'};  
    for(var Von in Kopieren)  
      document.getElementById(Kopieren[Von]).innerHTML = document.getElementById(Von).innerHTML;  
    
    

    lg JeSchnell

    PS: Ich würde diese Frage eher in den Bereich Javascript verschieben.

    1. Ausblenden wäre wohl die beste Variante..
      Hättest du da eine Lösung für?

      1. hi,

        Ausblenden [...]
        Hättest du da eine Lösung für?

        Wie bereits erwähnt:

          
        var Contents = new Array('', '2', '3');  
        for(var Zaehler = 0; Zaehler < Contents.length; Zaehler++)  
          document.getElementById('content'+Contents[Zaehler]).style.display = 'none';  
        
        

        Du kannst selbstverständlich auch den Contents-Array erweitern, da die for()-Schleife eh die Länge ausliest und nicht auf Kleiner-als-3 überprüft.
        Diesen Code müsstest du eben auch von einer if()-Abfrage abhängig machen.

        lg JeSchnell

  2. Habe einen Rechner mit Eingabefeldern geschrieben.
    Die Ergebnisse habe ich mit innerhtml (javascript) unter den Rechner gepackt.

    <p id="content"></p>

    <p id="content2"></p>

    ...

    <p id="content8"></p>

    
    >   
    > Wenn ich im ersten Eingabefeld nichts reinschreibe ist content,content2,content3 leer.  
    > Und der Text wird erst ab content4 wieder gezeigt. Das ist auch alles richtig. Bloß wie bekomme ich es nun hin das der Text von content4,content5 nun an der Stelle von content,con.2,con.3 sitzt?  
      
    Warum so kompliziert?  
    Du verwendest nur \_ein\_  
    <div id="input-list"></div>  
      
    und erzeugst dessen innere Elemente mit dem .innerHTML in einem rutsch.  
      
    mfg Beat
    
    -- 
    
    ><o(((°>           ><o(((°>  
    
       <°)))o><                     ><o(((°>o  
    Der Valigator leibt diese Fische