komma in punkt onkeyup umschreiben

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

  • komma in punkt onkeyup umschreiben

    Hallo,
    ich möchte beim Eingeben von Werten (in einem Textbalken) automatisch ein komma in einen Punkt um schreiben. Wie man eine funktion über onkeyup aufruft weiß ich, jedoch nicht wie man die Werte übergibt. Kann mir da jemand weithelfen?

    var str="Visit Microsoft!";
    document.write(str.replace(/microsoft/i, "W3Schools"));

  • #2
    PHP-Code:
    <input type="text" ... onkeyup="onKeyUpFunction(this);" /> 
    mit this übergibst du den Referenz des Textbox an die Funktion.

    Kommentar


    • #3
      Vielen Dank für den Tipp. Nun bastele ich an der Funktion. Leider kommt hier die Fehlermeldung (temp.replace is not a function). Was mache ich falsch?
      PHP-Code:

      function ersetze_schachbreite(entry) {

       
      komma ","// replace this
       
      punkt "."// with this
       
      var temp entry;
       
      output temp.replace(kommapunkt);
       
      document.ekr.schachtbreite.value output;
       } 

      Kommentar


      • #4
        habs geschafte danke nochmals

        PHP-Code:
        function ersetze_schachbreite(entry) {

         
        komma ","// replace this
         
        punkt "."// with this
         
        var temp entry;
         var 
        output temp.replace(kommapunkt);
         
        document.ekr.schachtbreite.value output;
         } 

        onkeyup=\"ersetze_schachbreite(this.value);\" 

        Kommentar


        • #5
          .replace() ist eine Methode der String-Klasse. Du rufst sie aber an einem DOM-Element auf. Versuch mal temp.value.replace()!

          Im Übrigen ist diese Funktion eigentlich ein Einzeiler:
          document.ekr.schachtbreite.value = this.value.replace(...);
          Könntest du direkt ins onkeyup schreiben.
          Zuletzt geändert von onemorenerd; 13.06.2009, 15:47.

          Kommentar


          • #6
            Ausserdem wäre dein Regex etwas falsch und Regex ist hier eh langsamer als
            Code:
            onkeyup="this.value.split(',').join('.');"

            Kommentar


            • #7
              OffTopic:

              [flame]
              w3schools suckt so dermaßen, da kann ich nicht anders:
              Code:
              sanktusm.signatur=sanktusm.fail_signatur.replace(/w3schools/ig,'MDC');
              [/flame]




              [edit]
              @jmc: das konnte ich ja jetzt doch nicht glauben..
              geben sie folgendes mal in ihre konsole ein:
              Code:
              var t = Array(10).join('9') + ',' + Array(2).join('4');
              var e1=[],e2=[],t1 = new Date().getTime();
              for(var i=2000;i;--i){
               e1.push(t.split(',').join('.'));
              }
              var t2 = new Date().getTime();
              for(var i=2000;i;--i){
               e2.push(t.replace(',','.'));
              }
              var t3 = new Date().getTime();
              [t2-t1,t3-t2]
              fairerweise auch noch replac(String,String), sodass immer ein neues RegExp objekt erstellt wird. mit einem //-literal und regex-caching ist das noch ein bisschen schneller.
              Zuletzt geändert von frodenius; 14.06.2009, 13:52.
              blllubb

              Kommentar

              Lädt...
              X