Code von einer auf eine andere Seite übertragen

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

  • Code von einer auf eine andere Seite übertragen

    Hallo @ all
    Ich habe folgendes Problem und zwar habe ich hier: Seite 1
    und ich möchte das wenn ich auf dieser Seite auf einen der Smilies klicke das der Code des Smilies dann auf diese Seite: Seite 2 in das Feld Text geschrieben wird.. Ich habe das schon versucht nur irgend wie funktioniert es nicht kann mir jemand sagen was ich falsch gemacht habe und ich ändern müste damit es funktioniert??

    Ps: bin noch ziemlich neu auf dem gebiet wäre nett wenn ihr es für einen Anfänger ein wenig Ausführlich zum verstehn erklären würdet.. Danke schon mal fürs Helfen..

  • #2
    Wie lange willst du denn noch an diesen Smilies basteln?
    Ist dir schon in den Sinn gekommen, erstmal selbst nachzuschauen, wie es andere Seiten - u.a. dieses Forum hier - hinbekommen?

    Kommentar


    • #3
      ich hab ja schon gesucht undwie oben steht habe ich dafür schon ein script auf den seiten eingefügt welches leider nicht funktioniert und da ich mich nicht so gut damit auskenne finde ich darinn auch nicht den fehler...

      Kommentar


      • #4
        ich hab gerade mal in meine Glaskugel geschaut, hab aber Dein Script leider nicht darin gesehen...

        ...mal im Ernst. Hab 2 Minuten gegoogelt und das hier gefunden:
        LINK

        Kommentar


        • #5
          hey danke aber das its nicht mein problem das habe ich auch und das funkrioniert bei mir ja auch ohne probleme nur ich will das wenn man das auf mehr smilies geht also auf eine neue seite die smilies die dort angeklickt werden wieder auf die erste seite übertragen und ins textfeld geschrieben werden...

          ach ja und googeln tuh ich den ganze ntag schon das problem ist nur wenn man nicht genau weiß nach was man suchen muß...

          Kommentar


          • #6
            Dann hilft Dir sicherlich DAS HIER weiter. ich denke, das opener() das richtige Stichwort ist.

            Kommentar


            • #7
              Also ich hab das mit dem opner mal probier bekomm das aber nicht so hin...

              ich habe auf der ersten seite folgende scripts:

              head:
              Code:
              <script type="text/javascript"
              function FensterOeffnen (moresmilies.html) {
                Fenster1 = window.open(moresmilies.html, "moresmilies/moresmilies.js", "width=300,height=400,left=100,top=200");
                Fenster1.focus();
              }
              </script>
              und den link im body:
              Code:
              <a href="moresmilies.html" target="_blank" onclick="javascript:setsmilie(' :smilie: ')">Mehr Smilies</a>
              dann habe ich folgendes in der js dateistehn:
              Code:
              switch(ref) {
              case "sms":
               var formname = "sms";
               var fieldname = "message";
              break;
              case "creator":
               var formname = "creator";
               var fieldname = "string2";
              break;
              default:
               var formname = "eingabe";
               var fieldname = "body";
              }
              
              var text = "";
              AddSmile = "";
              
              function getActiveText(element)
              {
                element.focus();
              // text = element.value.substring(element.selectionStart, element.selectionEnd);
                text = (document.all) ? document.selection.createRange().text : element.value.substring(element.selectionStart, element.selectionEnd);
                return true;
              }
              
              function AddText(NewCode,theform)
              {
                insert(theform.elements[fieldname], NewCode);
                AddTxt = "";
              }
              
              function insert (element, insString)
              {
                element.focus();
                getActiveText(element);
              
                if (element.setSelectionRange) // für FireFox
                {
                  var selStart = element.selectionStart;
                  var selEnd = element.selectionEnd;
                  var is_selection = (selStart != selEnd);
                  element.value = element.value.substring(0, selStart) + insString + element.value.substring(selEnd);
                  selEnd = selStart + insString.length;
                  if (is_selection)
                  {
                    setSelectionRange(element, selStart, selEnd);
                  }
                  else // nur die Einfügemarke neu setzen
                  {
                    setSelectionRange(element, selEnd, selEnd);
                  }
                }
                else
                {
                  if (document.selection) // für MSIE
                  {
                    var range = document.selection.createRange();
                    if (range.parentElement() == element)
                    {
                      var isCollapsed = range.text == '';
                      range.text = insString;
                      if (!isCollapsed)  // es war Text selektiert, Selektion wieder herstellen
                      {
                        range.moveStart('character', -insString.length);
                        range.select();
                      }
                    }
                  }
                  else // für alle anderen Browser
                  {
                    element.value += insString;
                  }
                }
                //AddTxt = "";
              }
              
              function setSelectionRange(obj, start, end)
              // wird für MSIE nicht benötigt
              {
                obj.focus();
                obj.setSelectionRange(start, end);
              }
              
              function smilie(thesmilie)
              // inserts smilie text
              {
                AddSmile = " "+thesmilie+" ";
                theform = window.opener.document.forms[formname];
                AddText(AddSmile,theform);
                theform.elements[fieldname].focus();
              }
              und auf der seite die geöfnet werden soll habe ich bei den smilies diesen code:
              Code:
              <script type="text/javascript" src="moresmilies/moresmilies.js"></script>
              und die smilies sind so belegt:
              Code:
              <img src="moresmilies/biggrin.gif" alt=":D" width="15" height="15" dynsrc="submit.html" class="smilie" title=":D" onClick="smilie(':D')" />
              geht aber trozdem irgend wie alles nich hab schon mehreres ausprobiert jetzt.. nur irgendwie klappt alles nich..

              Kommentar


              • #8
                Hab mir jetzt net deinen Code im detail angeguckt, aber hier etwas theoretisches wie der opener benutzt wird.

                1. Seite:
                - neues Fenster(PopUp erzeugen)
                PHP-Code:
                window.open(....); 
                2. Seite
                - Referenz auf das parent Fenster (also jenes, welches das PopUp erzeugt hat)
                PHP-Code:
                var parent window.opener// mit dem Objekt kannst du nun gemütlich auf den Content deiner ersten Seite rumwuseln. 
                Im Grunde musst du also nur noch herausfinden welches das ausgewählte Smilie auf Seite 2 ist. Dieses dann an die richtige Stelle auf Seite 1 schreiben und das PopUp schliessen. K, klingt einfach - hast anscheinend probs damit.

                Am besten den ganzen Kram einfach mal an die Seite legen, und das ganze mal in nem kleinen Projekt austesten. Wenn du das dann drauf hast, kannst du es in dein bestehendes Projekt portieren.
                Zuletzt geändert von Jesseblue; 31.05.2006, 14:23.

                Kommentar


                • #9
                  hab das mit dem opener jetzt mal gemacht und zwar so

                  auf der hauptseite (html):


                  Code:
                  <input type="button" value="mehr" name="getmore" onClick="window.open('moresmilies.html', 'moresmilies', 'width=400,height=400,resizable=yes,scrollbars=yes');return false;" />
                  und dann dadrunter noch n script ...
                  Code:
                  <script type="text/javascript">
                  var doppelquote = document.eingabe.body.value;
                  doppelquote = doppelquote.substr(7);
                  var doppelquote2 = ''.substr(7);
                  if(doppelquote.indexOf('[QUOTE]') != -1 || doppelquote2.indexOf('[QUOTE]') != -1) {
                   document.write('<br /><input type="button" value="Fullquote" onClick="normalquote();"><br /><br /><input type="button" value="Shortquote" onClick="shortquote();">');
                  }
                  </script>

                  also das mit dem popup öfnen funktioniert so weit schon ohen probleme nur er überträgt immer noch nicht die funktion..

                  auf der Popup Seite im body steht jetzt:
                  Code:
                  <script type="text/javascript" src="moresmilies/moresmilies.js"></script>
                  und die smilies haben folgenden code..
                  Code:
                  <img src="moresmilies/biggrin.gif" alt=":D" width="15" height="15" class="smilie" title=":D" onClick="smilie(':D')" />
                  nur es geht mit dem window open immer noch nicht wie es soll.. ich hab mir jetzt den ganzen tag hilfen dazu durchgelesen und rumgebastelt un probiert nur ich bekomms einfach nicht gebacken...

                  Kommentar


                  • #10
                    Hmm, sehe irgendwie net so das Problem.

                    Du hast auf Seite 1 eine Textarea, wo der User seinen Text eingibt. Auf Seite 2, also das Popup hast du deine Simies.

                    Du übergibst der "simlie('')" Methode also das Smilie - ok. Dort musst du dann mit Hilfe des openers, auf die Textarea auf Seite 1 zugreifen und nur noch zum aktuellen Inhalt den Simlie hinzufügen.
                    Beim Abschicken tust du dann ja auf Serverseite den Inhalt nach smilie-tags durchforsten und durch die passenden icons ersetzen.

                    Oder seh ich das zu simpel?

                    Kommentar


                    • #11
                      hey also ich hab jetzt mal ein script was funktioniert nur wenn ich das dann in meine seite überneheme mit scripts und so weiter dann funktioniert das zwar mit öfnen so weit ganz gut nur das einzigste prob was ich jetzt noch habe ist er schreibt wenn ich auf den smilie klicke diesen nicht in das textfeld...

                      kann es sein das manche scripts nicht miteinander klarr kommen??

                      weil anders wüst ich nicht wie so es nicht geht weil auf der seite wo ich die funktion getestet habe läufts ja ohne probs wies soll nur wenn ich alles übernehme geht halt nix mehr...

                      Kommentar


                      • #12
                        verwendest du mehrmals die selbe variable?

                        Kommentar


                        • #13
                          ich hab den fehler gefunden...

                          Code:
                          <a href="javascript:opener.emoticon(':D')"><img src="images/smiles/icon_biggrin.gif" border="0" alt="Very Happy" title="Very Happy" onClick="smilie(':D')" /></a>
                          in der zeile fehlte "opener" naja fehler gefunden und danke an alles fürs helfen....
                          Zuletzt geändert von DiamondDog; 02.06.2006, 11:29.

                          Kommentar

                          Lädt...
                          X