Simsso: Java Script Problem

HI,
Erkennt hier jemand einen Syntax Fehler?

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript">
     function gross() {
       var wert = this.style.width;
       var jetzt = wert.replace(/px/g, '');
       var weiter = Number(jetzt) + Number(100)
       this.style.width = weiter + 'px';
     }
    </script>
  </head>
  <body>
    <form name="form">
     <input type="text" style="width: 100px; " name="input" onfocus="gross()" />
    </form>
  </body>
</html>
Gruß

  1. @@Simsso:

    nuqneH

    Erkennt hier jemand einen Syntax Fehler?

    Ja.

    Der HTML-Validator findet auch Fehler.

    <?xml version="1.0"?>

    Die unnütze XML-Deklaration führt zu der Unschönheit, dass sie ältere IEs in den Quirksmodus schickt. Weg damit!

    Der JavaScript-Code sieht syntaktisch in Ordnung aus.

    Das fehlende Semikolon hinter

    var weiter = Number(jetzt) + Number(100)

    ist aber eine Unschönheit.

    function gross() {
    var wert = this.style.width;

    Ich glaube nicht, dass this auf das zeigt, was du denkst.

    var jetzt = wert.replace(/px/g, '');
    var weiter = Number(jetzt) + Number(100)

    Was soll das denn? Du willst erst 'px' abschneiden (und das auch noch mit regulärem Ausdruck?), um den erhaltenen String in eine Zahl umzuwandeln?

    [ref:self812;javascript/objekte/unabhaengig.htm#parse_int@title=parseInt] ([ref:self812;javascript/objekte/unabhaengig.htm#parse_float@title=parseFloat]) kennst du? Hm, nicht?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)