0

PHP でボタンを作成し、クリック時にその値 (テキスト入力内) を増減させようとしています。

<?php

echo "<script>
    function inc(elem)
    {
        x = elem.value;
        //alert('dsadasdasdsadasdas');
        if(x<31)
        {
        x= x+1;
        }
        alert(x);
        elem.value = x;
    }
    </script>";

            echo '<form action="tziros.php" method="post">';
            echo '<input type="text" value="1" name="tziros_imeras">';
            echo '<br>';
            //echo '<input type="button" value="ADD +" onClick="inc(document.getElementById("tziros_imeras"))">';
            echo '<input type="button" value="ADD +" onClick="inc(document.getElementById(\'tziros_imeras\'))">'
            //echo '<input type="button" value="DEC -" onClick="dec();">';  
            echo '<input type="submit" name="submit_tziros_meras" value="OK">';
            echo '</form>'; 
?>

問題は、javascript がまったく実行されていないことです。

編集:あなたの答えを読んだ後、私はこれを思いつきました:js:

 function inc(elem)
        {
        elem.value++;
        }

そしてフォーム上:

echo '<input type="text" value="1" id="tziros_imeras" name="tziros_imeras">';

いよいよ、js が実行されます。

4

3 に答える 3

1
  • tziros_imerasID ( )で検索していますが、設定されているプロパティgetElementByIDしかありませんnametziros_imeras

  • メソッドしかありinc()ません-メソッドがありませんdec()

そして最も重要なこと:

  • どちらがローカル変数であるかをインクリメントxしています (実際の要素には影響しません)。代わりに次のようにする必要があります。

    elem.value += 1;

于 2013-08-12T18:11:24.323 に答える
0

コードのこの部分:

echo '<input type="button" value="ADD +" onClick="inc(document.getElementById("tziros_imeras"))">';

次のようにする必要があります。

echo '<input type="button" value="ADD +" onClick="inc(document.getElementById(\'tziros_imeras\'))">';

出力されたJSは次のようなものでした:

onClick="inc(document.getElementById("tziros_imeras"))"

お気づきのように、引用符が台無しになっています。これが、JS の実行に失敗する原因でした (ブラウザ コンソールを確認すると、エラーも表示されます)。

他の人が言ったように、JS エラーもいくつかありますが、これが質問に関連する主な問題です。

于 2013-08-12T18:11:57.520 に答える