Marcus: Text per Javascript einfügen

Hallo zusammen,

ich hab folgendes Script hier aus dem Forum.
Es fügt per Aufruf einen Text an die Stelle in einer Textbox ein, an welcher gerade der Cursor steht:

function setsmile(aTag,eTag) {
  var input = document.forms['posting'].elements['text'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('[1]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

Folgeder Code ruft das Script auf:
<a href="javascript:setsmile('=)','')"><img src='../../grafiken/6_service/mailbox/smile01.gif' border="0"></a>
       <a href="javascript:setsmile(':-((','')"><img src='../../grafiken/6_service/mailbox/smile02.gif' border="0"></a>
       <a href="javascript:setsmile(';-(','')"><img src='../../grafiken/6_service/mailbox/smile03.gif' border="0"></a>
       <a href="javascript:setsmile(':-))','')"><img src='../../grafiken/6_service/mailbox/smile04.gif' border="0"></a>
       <a href="javascript:setsmile(':-()','')"><img src='../../grafiken/6_service/mailbox/smile05.gif' border="0"></a>
       <a href="javascript:setsmile(':-#','')"><img src='../../grafiken/6_service/mailbox/smile06.gif' border="0"></a>
       <a href="javascript:setsmile(';-)','')"><img src='../../grafiken/6_service/mailbox/smile07.gif' border="0"></a>
       <a href="javascript:setsmile(':-(+)','')"><img src='../../grafiken/6_service/mailbox/smile08.gif' border="0"></a>

Manche Browser (alte Firefox?), auf jeden Fall nicht der neue IE und der neue Firefox, schicken zuzüglich zum Smilie Code noch: javascript:setsmile('=)','') mit den in den Text.
Habt Ihr eine Ahnung wie man das lösen kann?

1000 Dank
Marcus


  1. 0-9 ↩︎

  1. hi,

    Manche Browser (alte Firefox?), auf jeden Fall nicht der neue IE und der neue Firefox, schicken zuzüglich zum Smilie Code noch: javascript:setsmile('=)','') mit den in den Text.
    Habt Ihr eine Ahnung wie man das lösen kann?

    du musst dein javascript:setsmile usw nicht in den href schreiben, sondern in onclick. dann schreibst du href="#", dass der browser kein neues Fenster aufmacht.

    ciao,
    xjs

    --
    http://ir-real.com
    linux is like a wigwam: no windows, no gates and an apache inside!
    1. Hi,

      du musst dein javascript:setsmile usw nicht in den href schreiben, sondern in onclick. dann schreibst du href="#"

      wozu überhaupt <a href>? Auch <img> kann einen Eventhandler bekommen.

      freundliche Grüße
      Ingo

      1. hi,

        wozu überhaupt <a href>? Auch <img> kann einen Eventhandler bekommen.

        Hast recht

        ciao,
        xjs

        --
        http://ir-real.com
        linux is like a wigwam: no windows, no gates and an apache inside!
        1. hi,

          wozu überhaupt <a href>? Auch <img> kann einen Eventhandler bekommen.

          Hast recht

          ciao,
          xjs

          Sorry, allerdings verstehe ich das noch nicht (abgesehen davon, daß es beim IE und Firefox neu ja so funktioniert).
          Wie kann ich denn sonst bei Knopfdruck auf das Bild das entsprechende Script aufrufen?

          Dank und Gruß
          Marcus

          1. Hi,

            Wie kann ich denn sonst bei Knopfdruck auf das Bild das entsprechende Script aufrufen?

            wenn das das Script bei img über oncklick notiert ist, wird es beim Klick aufgerufen. Was verstehst Du daran nicht?

            freundliche Grüße
            Ingo

            1. wenn das das Script bei img über oncklick notiert ist, wird es beim Klick aufgerufen. Was verstehst Du daran nicht?

              Ach das geht? <img src="bild.jpg" onklick="javascript:xy()">
              wusste ich nicht.

              1. Hi,

                Ach das geht? <img src="bild.jpg" onklick="javascript:xy()">

                so nicht. Sondern: <img src="bild.jpg" alt="" onclick="xy()">

                freundliche Grüße
                Ingo