Ankündigung

Einklappen
Keine Ankündigung bisher.

Parameter an eine bestehende Funktion übergeben.

Einklappen

Neue Werbung 2019

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

  • Parameter an eine bestehende Funktion übergeben.

    Heidiho Leute,

    ich habe mir heute mal eine Javascript Funktion im Internet angeschaut:

    Code:
    <script language="JavaScript" TYPE="text/javascript">
    var laenge = 500; //Hier die gewünschte Zeichenlänge angeben
    
    function countLetters (l)
    {
    
    document.Anmeldung.zahl.value = laenge - l.value.length;
    if (l.value.length > laenge){
    l = l.value.substring(0,parseInt(laenge));
    document.Anmeldung.rptext.value = l;
    document.Anmeldung.zahl.value = 0;
      }
    }
    </script>
    Und dann haben wir natürlich die Eingabefelder im Formular, der Name des Formulars lautet "Anmeldung":
    Code:
    * Was verstehst du unter Rollenspiel? (min. 5 Sätze) 
    
    			[Noch <input name="zahl" type=text readonly value="500" size="4"> Zeichen über]
    		</td>
    		<td>
    			<textarea name="rptext" cols="60" rows="20" onClick="countLetters(this)" onKeyUp="countLetters(this)"></textarea>
    Wenn man was in das Feld "rptext" eintippt, funzt alles, der countet die eingegeben Zeichen alles. Nun wollte ich das ganze auf ein 2tes Textfeld ausweiten, doch die einzige Lösung für mich wäre, eine 2te Funktion zu schreiben. Aber kann mir vllt einer helfen, also die Funktion mit Parametern versehen, sodass ich das ganze noch auf diese Feld ausweiten kann?
    Code:
    Was gefällt dir an Mendonis?
    		</td>
    		<td>
    			<textarea name="gefallen" cols="60" rows="5"></textarea>


  • #2
    Es wird bereits das Feldobjekt als Parameter übergeben (this), somit reicht

    Code:
    <textarea name="gefallen" cols="60" rows="5" onClick="countLetters(this)" onKeyUp="countLetters(this)"></textarea>

    Kommentar


    • #3
      Fast:

      1. "document.Anmeldung.rptext.value = l;"
      - Das Feld wir nicht per Parameter übergeben, genau so wenig das Feld, wo die noch verbliebene Anzahl an Zeichen steht.

      2. Die max. Anzahl an Zeichen wird auch nicht übergeben.

      Also warum postest du, wenn du nicht genau liest??

      Kommentar


      • #4
        Er hat zumindest nichts falsches gepostet, es war lediglich unvollständig. Natürlich muss die Funktion noch erweitert werden, die Anzahl und Art der Argumente stimmt aber

        Kommentar


        • #5
          Zitat von Daskaras
          Fast:

          1. "document.Anmeldung.rptext.value = l;"
          - Das Feld wir nicht per Parameter übergeben, genau so wenig das Feld, wo die noch verbliebene Anzahl an Zeichen steht.

          2. Die max. Anzahl an Zeichen wird auch nicht übergeben.

          Also warum postest du, wenn du nicht genau liest??
          Weil ich es gelesen habe.

          Zitat von Daskaras
          Nun wollte ich das ganze auf ein 2tes Textfeld ausweiten,

          DEas ist der Aufruf deines ersten Textfeldes
          Code:
          <textarea name="rptext" cols="60" rows="20" onClick="countLetters(this)" onKeyUp="countLetters(this)"></textarea>
          Hier kannst du genauso gut schreiben
          Code:
          <textarea name="rptext" cols="60" rows="20" onClick="countLetters(document.Anmeldung.rptext)" onKeyUp="countLetters(document.Anmeldung.rptext)"></textarea>

          Code:
          <script language="JavaScript" TYPE="text/javascript">
          var laenge = 500; //Hier die gewünschte Zeichenlänge angeben
          // Das du diese auch variabel haben möchtest hattest du nirgends erwähnt
          
          function countLetters (l)
          {
          
          document.Anmeldung.zahl.value = laenge - l.value.length;
          // Das du das Ausgabefeld auch variabel haben möchtest hast du nirgends erwähnt
          
          if (l.value.length > laenge){
          // Das in den nachfolgenden 2 Zeilen der Author Schwachsinn geschrieben hatt, habe ich nicht erwähnt.
          l = l.value.substring(0,parseInt(laenge));
          document.Anmeldung.rptext.value = l;
          
          
          document.Anmeldung.zahl.value = 0;
            }
          }
          </script>
          Aber wenn dir meine Meinung nicht passt werde ich das in Zukunft beherzigen.

          Kommentar


          • #6
            Doch, es passt mir, nur ich kann kein bisschen Java und mir werden dann Sachen an den Kopf geworfen, womit ich nicht viel Anfangen kann. Und meine Versuche da weitere Parameter zu ergänzen, sind auch fehlgeschlagen.

            Kommentar


            • #7
              Dann merk dir gleich am Anfang: Java ist nicht JavaScript. Auch nennt man JavaScript abgekürzt nicht Java. Du vergleichst hier Äpfel mit Tomaten (Birnen wäre zu ähnlich

              Was willst du also nochmal machen? 2 Felder mit jeweils einem Anzeiger für die restlich verbleibenden Zeichen, oder 2 Felder mit einem gemeinsamen Restanzeiger der Zeichen?

              Kommentar

              Lädt...
              X