PHP und JavaScript

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

  • PHP und JavaScript

    Ich möchte in einer PHP-Datei JavaScript ausführen.
    Im Kopf der Datei habe ich bißchen PHP, dann kommt ein HTML Teil, der im HEAD folgendes stehen hat:

    PHP-Code:
    <HEAD>
    <
    SCRIPT LANGUAGE="JavaScript">
    <!-- 
    Begin
    function textCounter(fieldcountfieldmaxlimit) {
    if (
    field.value.length maxlimit// if too long...trim it!
    field.value field.value.substring(0maxlimit);
    // otherwise, update 'characters left' counter
    else
    countfield.value maxlimit field.value.length;
    }
    // End -->
    </SCRIPT>
    </
    HEAD
    Leider zeigt mein I-Explorer an, dass die Seite nur fehlerhaft dargestellt werden kann. Der LIMIT-Textxounter funktioniert leider nicht.
    Hat jemand einen Vorschlag, wie man das in PHP schreiben könnte?

  • #2
    max anzahl an zeichen pro zeile

    Ich finde einfach nichts zu "maximaler anzahl an zeichen pro zeile" in einer textarea. Ich bin nur fündig geworden über ein Zeichen LIMIT Script:

    HTML-Code:
    <HEAD>
    
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit) // if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
    // otherwise, update 'characters left' counter
    else
    countfield.value = maxlimit - field.value.length;
    }
    // End -->
    </script>
    </HEAD>
    
    <BODY>
    
    <center>
    <form name=  action="">
    <font size="1" face="arial, helvetica, sans-serif"> ( You may enter up to 125 characters. )
    
    <br>
    <textarea name=manual_input wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.manual_input,this.form.remLen,125);" onKeyUp="textCounter(this.form.manual_input,this.form.remLen,125);
    
    "></textarea>
    <br>
    <input readonly type=text name=remLen size=3 maxlength=3 value="125"> characters left</font>
    </form>
    </center>
    Kann mir jemand weiterhelfen, so dass ich zum Beispiel die Anzeige habe wie jetzt auch im Script, mit Restzeichen für jede Zeile und dass nach 63 Zeichen automatisch ein Zeilenumbruch eroflgt?

    Kommentar


    • #3
      - ein js-problem im php-forum?
      - wie sieht der erzeugte quellcode aus?
      - wieso benutzt du nicht nen browser?
      Der LIMIT-Textxounter funktioniert leider nicht.
      - bist du im stande, das vernünftig zu formulieren?
      - doppelpost?
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        *verschieb & zusammenführ*
        drängeln mit crossposts haben wir hier gerne

        was ist nun dein problem ?
        Kissolino.com

        Kommentar


        • #5
          Mein Problem ist, dass ich ein JS Script gefunden habe, was die Zeichen in einer <textarea> begrenzt. Ich wollte fragen, ob ihr wisst, wie man das umschreiben muss, damit es jede Zeile neu einließt mit 63 Zeilen Begrenzung und dann automatisch einen Break einfügt zum Beispiel mit document.writeln(<br>)

          dies funktioniert nur als zeichen begrenzung für die gesamte textarea und nicht für jede zeile
          PHP-Code:
          <HEAD>
          <
          SCRIPT LANGUAGE="JavaScript">
          <!-- 
          Begin
          function textCounter(fieldcountfieldmaxlimit) {
          if (
          field.value.length maxlimit// if too long...trim it!
          field.value field.value.substring(0maxlimit);
          // otherwise, update 'characters left' counter
          else
          countfield.value maxlimit field.value.length;
          }
          // End -->
          </SCRIPT>
          </
          HEAD

          Kommentar


          • #6
            man,

            was willst du machen?

            bei der eingabe die spaltenanzahl begrenzen? cols=63
            bei der ausgabe? mittels php? wordwrap?

            wo wolltest du mittels document.writeln(<br> ) hinschreiben? in die textarea?
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              <textarea name="manual_input"></textarea>

              In dem Editorfeld möchte ich, dass der Eingeber nur 63 Zeichen pro Zeile schreiben kann und unter dem Textfeld die Restzeichen (63,62,61... Zeichen noch übrig) zu sehen sind, die er pro Zeile machen kann.

              Kommentar


              • #8
                irgendwie scheinst du etwas nicht verstanden zu haben, nun gut.
                trotzdem danke, daß du so ausführlich auf die fragen eingehst.

                <texarea cols=63 ...>

                statt dem gesamtwert an verfügbaren zeichen nimmst du diesen wert modulo 63 ...

                den rest hab ich schon geschrieben ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Nun verstehe ich nicht was du meinst...

                  Ich sitze nun echt schon seit heute Vormittag an diesem schei** Problem
                  und keiner scheint mich zu verstehen :-(

                  Wie ich Spalten (cols) in einer textarea setzt weiß ich,
                  das sollte ja wohl selbstverständlich sein, aber ich möchte wissen,
                  wie man jede Zeile von <textarea name=text-inhalt> auf 63 Zeichen beschränken kann, ohne das 64. Zeichen zu löschen, sondern in die nächste Zeile zu verschieben. Zudem soll in einem <input> Feld die maximale Zeichenfolge stehen, die bis Ende der Zeile von 63 auf 0 zu geht und in der nächsten Zeile genau das gleiche.
                  Zuletzt geändert von alexs; 08.08.2004, 02:56.

                  Kommentar


                  • #10
                    Damit mich jetzt vielleicht jemand versteht, verbildliche ich mal alles:

                    Ich habe dieses formular:
                    PHP-Code:
                    <form ...>
                    <
                    textarea></textarea//Bei jeder Eingabe soll unten im input Feld die Zahl 63 bis Null herunter gehen; ist das Ende einer Zeile, also 63 Zeichen, erreicht, so soll in der nächsten Zeile wieder unten im input 63 stehen und pro eingegebenes Zeichen auf Null herunter zählen
                    </form>
                    <
                    br><br>
                    <
                    input readonly value="63"
                    Weiß jemand, ob das überhaupt machbar ist?
                    Wenn ja, kann ich bitte ein Beispiel bekommen?

                    Kommentar


                    • #11
                      das äquivalent zu einem PHP-explode() in javascript wäre die methode split() des string-objektes.

                      damit kannst du dir also schon mal alle zeilen in ein array einlesen, und die länge prüfen. dabei aber beachten, dass dir die unterschiedlichen zeilenumbrüche der einzelnen systeme evtl. probleme bescheren könnten - \n, \r\n, r\.

                      dieses array in einer schleife zu durchlaufen und die länge der einzelnen zeilen zu prüfen, dürfte ja kein problem sein.
                      und wenn das ende einer zeile erreicht ist, fügst du am ende halt wieder ein \n an.
                      musst halt die prüf-funktion nach jedem tastendruck wieder aufrufen; siehe eventhandler.

                      immer die noch verbleibende länge der letzten zeile anzuzeigen, halte ich jedoch für unfug.
                      what for?
                      dann gehe ich einmal mit [cursor up] in die darüber liegende zeile, und tippe da weiter - und schon ist deine anzeige wertlos.


                      aber vielleicht könntest du ja erst mal erklären, wozu das überhaupt gut sein soll. außer spielerei kann ich darin noch nichts erkennen ...
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Von wegen Spielerei ;-), ne ne

                        Also man soll auf meiner Seite Tabulaturen in einem Texteditorfeld
                        hochladen können, wobei es ja bekannt ist, dass nicht jeder Mensch
                        ein /n oder <br> macht, wenn das Ende der Zeile des Texteditorfeldes
                        kommt. Und um eine einheitliche Breite (für cd - corporate design)
                        ermöglichen zu können, wollte ich dem Besucher eine Zahl
                        ausgeben, an der er sich orientieren kann, wieviel Eingaben
                        er noch machen kann pro Zeile, bis automatisch ein Break erzwungen wird.

                        Kommentar

                        Lädt...
                        X