-1

php-sql の変数を使用して、javascript アラートのメッセージにする方法を教えてください。

ここに私のコードがあります

<?php

    $select = "SELECT * FROM post";
    $result = mysql_query($select) or die("couldn't select table");


    while ($rows = mysql_fetch_array($result))
    {
        echo"<input type='button' class=term onclick='return terms()' value=Terms >";

        echo"<input type='hidden' value='$rows[terms]' id='term' name='term'>";
    }
?>  

<script language="JavaScript">
    function terms() 
    {
        var readers = document.getElementById("term"); 
        alert(readers.value);
    }
</script>

動作し、警告メッセージが表示されます。しかし、行の特定のフェッチに対して正しいメッセージを表示する際に問題が発生しました。すべてが同じメッセージを受け取りました (最初の行からのメッセージ)。

getElementByName を使用しようとしましたが、アラートがポップアップしないため、入力 name="term[]" --------(配列形式に) を作成する必要はありません

助けてください!

4

6 に答える 6

1

while ループ内の 2 番目の echo ステートメントを次のように変更します。

echo"<input type='hidden' value='". $rows['terms'] ."' id='term' name='term'>";
于 2012-07-21T09:21:32.917 に答える
1

このスクリプトの行を変更すると見つかると思います

 echo"<input type='button' class=term onclick='terms()' value=Terms >";

ここでは、onclick='return terms()' の代わりに onclick='terms()' を使用します。

編集:

<?php   echo"<input type='button' class=term onclick='terms(this)' data-result ='". $rows['terms'] ."' value=Terms >"; ?>
      /* Remove the hidden field */
<script language="JavaScript">
    function terms(e) 
    {
        var readers = e.getAttribute('data-result'); 
        alert(readers);
    }
</script>
于 2012-07-21T09:25:21.700 に答える
1

私は通常、次のことを行います。

<?php
  function alert($text){
    echo '<script type="text/javascript">alert("'.$text.'")</script>';
  }

  alert("test");
?>

それが役立つことを願っています。

于 2012-07-21T09:27:06.213 に答える
0

要素ごとに異なる ID を指定する必要があります。これを行う簡単な方法は、IDの自動インクリメントを使用することだと思います。

于 2012-07-21T10:25:10.430 に答える
0

While ループを繰り返すたびに、HTML コードの値または「用語」を上書きしています。このようにして、最後の値のみを取得します

于 2012-07-21T09:21:26.467 に答える
0

すべてのinput要素が同じidです。それらを区別したい場合は、異なる識別子を与えてください。そして、識別子をterms関数に渡します。

于 2012-07-21T09:22:18.197 に答える