Dom textareas durch iframe "ersetzen"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dom textareas durch iframe "ersetzen"

    hallo,

    folgendes problem:

    ich möchte in einem dokument, genauer innerhalb einer form, textareas ausblenden und durch ein iframe quasi ersetzen lassen. hierzu hab ich mir gedacht das ich alle forms durchlaufe und die textareas mittels css-display verschwinde lasse. bis dahin auch noch kein problem. Aber, wie bekomm ich neben der textarea ein iframe eingefügt mittels javascript?

    ich weiss das ich mittels createElement ein iframe erzeugen kann aber wie bekomm ich es dann auch neben der textarea eingefügt?

    was dom betrifft hab ich nicht die grosse erfahrung.

    also z.b.

    <form>

    <input>

    <textarea></textarea> <-- hier soll das iframe hin, die textarea wird mittels display:none ausgeblendet

    </form>
    mfg

  • #2
    mit OBJEKT.insertBefore

    http://de.selfhtml.org/javascript/ob...#insert_before

    das erste beispiel fügt vor dem OBJEKT ein, das zweite beispiel nach OBJEKT (mit hilfe von.nextSibling)

    gruss

    Kommentar


    • #3
      vielen Dank, das kommt dem ganzen schon ganz nah. mal sehen was sich noch draus ergibt.
      mfg

      Kommentar


      • #4
        ja, also es hat gut geklappt. ich kann jetzt die textareas durch iframes ersetzen lassen..

        PHP-Code:
        function lauf(){
             var 
        ta document.forms[0].getElementsByTagName('textarea');
             for ( 
        i=0;i<ta.length;i++){
                
        ifrdocument.createElement("iframe");
                
        document.getElementById(ta[i].id);
                
        t.style.display="none";
                
        document.forms[0].insertBefore(ifr,t);
             }

        mfg

        Kommentar


        • #5
          eine frage hab ich dann doch noch, ich modifiziere mittels setAttribute die form

          setAttribute("onsubmit","return process();")

          .. in firefox funktioniert das ganze, wenn ich das formular absende wird process ausgeführt, nur im internet explorer nicht

          jemand eine Ahnung warum das so ist, leider hat der ie nicht die tollen debug-möglichkeiten wie ich es mit dem firefox mittels Firebug hab.

          vielen dank und grüße

          edit, noch der code

          PHP-Code:
          function process(){
              
          fo document.forms;
              for(
          i=0;i<fo.length;i++){
                  
          el document.forms[i].getElementsByTagName("textarea");
                  for(
          a=0;a<el.length;a++){
                      if(
          el[a].id != ""){
                          
          document.getElementById("ta_"+el[a].id);
                          
          ifrm = (IEX) ? window.frames["ta_"+el[a].id].document d.contentWindow.document;
                          
          el[a].value ifrm.body.innerHTML;
                      }
                  }
              }

          Zuletzt geändert von hall; 27.09.2006, 17:21.
          mfg

          Kommentar


          • #6
            Wurde nicht schon x-fach hier erwähnt, dass setAttribute im IE oftmals zu Fehlern führt ...?


            Ja, wurde es - und auch, welche Notation stattdessen verwendet werden sollte.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              danke wahsaga, hab das jetzt gefunden.

              ich hab jetzt statt setAttribute diese form benutzt

              element.attribut = wert

              allerdings möchte ich "onsubmit" als attribut zuweisen, aber das ist nicht vorgesehn.

              setAttribute("onsubmit","return process();")

              wie schreib ich das in eine für beide browser verträgliche version?
              mfg

              Kommentar


              • #8
                ok, danke wahsaga, habs jetzt hinbekommen

                document.forms[0].onsubmit= function(){ return process(); };

                grüße
                mfg

                Kommentar

                Lädt...
                X