Martin1958: Frage zu substring

Guten Abend,

ich habe soeben folgende Funktion hier bei euch im Forum gefunden:

function trim(s)
{
 while(s.substring(0,1) == ' ')
 {
  s = s.substring(1,s.length);
 }

while(s.substring(s.length-1,s.length) == ' ')
 {
  s = s.substring(0,s.length-1);
 }

return s;
}

sie wirkt wie die funktion trim in php, sollte sie zumindest. Leider kommt der fehler das substring nicht bekannt ist. kann mir jemand sagen wieso?

--
lg martin
  1. Hallo,

    Ich kann dort keinen Fehler sehen. Wie bindest Du das denn bei Dir ein?

    1. function alterTitelText(titelTextID, textareaID)
      {
       var titelTextID = document.getElementById(titelTextID);
       var textareaID = document.getElementById(textareaID);

      textareaID = trim(textareaID);

      if(textareaID.value == '')
       {
        titelTextID.innerHTML = 'nix';
       }
       else
       {
        if(textareaID.value.length > 10)
        {
         titelTextID.innerHTML = textareaID.value.substr(0, 10)+'...';
        }
        else
        {
         titelTextID.innerHTML = textareaID.value;
        }
       }
      }

      function trim(s)
      {
       while(s.substring(0, 1) == ' ')
       {
        s = s.substring(1, s.length);
       }

      while(s.substring(s.length-1, s.length) == ' ')
       {
        s = s.substring(0, s.length-1);
       }

      return s;
      }

      1. Hallo,

        var textareaID = document.getElementById(textareaID);

        Hiernach ist textAreaID ein verweis auf deine textarea.

        textareaID = trim(textareaID);

        Hier versuchst du eine Textarea zu trimmen. Das geht selbstverständlich nur mit Strings.

        function trim(s)
        {
        while(s.substring(0, 1) == ' ')

        Deswegen erhälst du hier auch einen Fehler. Die substring-Funktion st (nur) für Strings definiert, nicht aber für HTML-Elemente, textareas und ähnliches.

        Jonathan

        --
        Selfcode: ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)
        1. Danke für deine Antwort Jonathan!

          Kann ich das textarea Feld evt. konvertieren zu einem String?

          --
          lg martin
          1. Hi!

            Kann ich das textarea Feld evt. konvertieren zu einem String?

            Nein. Eine Textarea kannst du nicht in einen String konvertieren.
            Du mußt auf den Wert (value) der Textarea zugreifen.

            Schöner Gruß,
            rob

            1. ahh jetzt sehe ich den fehler....

              textareaID.value = trim(textareaID.value);

              so müsste es heisen!

              danke für eure schnellen antworten!

              --
              lg martin
  2. Hi!

    ich habe soeben folgende Funktion hier bei euch im Forum gefunden:
    [...]
    sie wirkt wie die funktion trim in php

    Nein. Die PHP-Funktion trim() entfernt verschiedene Whitespace-Zeichen am Ende eines Strings, u.a. Carriage Return, Line Feed, Nul-Byte, Tabstops und noch einige.
    Diese Funktion hier entfernt nur Leerzeichen.

    Leider kommt der fehler das substring nicht bekannt ist.

    Die Funktion sieht für mich völlig OK aus.
    Eigentlich sollte sie funktionieren.

    kann mir jemand sagen wieso?

    Du wirst irgendwas falsch gemacht haben.

    Wie rufst du diese Funktion auf (Parameterübergabe)?
    Poste doch mal deinen vollständigen Code.

    Mit welchem Browser arbeitest du?
    Eigentlich gibt es die Funktion substring schon seit Ewigkeiten und sie müßte selbst in alten JS-Versionen (ab Version 1.0 vielleicht?) nutzbar sein.

    Wenn du nicht mit einem wirklich, wirklich, wirklich richtig alten Browser arbeitest, dann dürfte es eigentlich keine Probleme geben.

    Schöner Gruß,
    rob