0

BD でクエリを使用して動的テーブルを作成しています。問題は、送信するたびにテーブルのボタンを無効にしたいことです。ページを読み込まずにフォームを送信して、無効なボタンが見える。

<?php
            $theCounter=0;
            while($row = mysql_fetch_object($result))
            {

        ?>

            <form id="id" action="table.php" method="post">
            <input type="hidden" value="<?php  echo $row->id_table;  ?>" name="idUser">
                <tr>
                    <td><?php  echo $row->id_userS;  ?></td>
                    <td><?php  echo $row->username_s;  ?></td>
                    <td><?php  echo $row->num_people;     ?></td>
                    <td><?php  echo $row->start_time;  ?></td>
                    <td> 
                        <input type="submit" name="delete_check" value="Eliminar"> 
                    </td>
                    <td> 
                        <input type="submit" name="push_check" value="Enviar Push">
                    </td>
              </form>
        <?php
            $theCounter++;
            }

        ?>

「push_check」という名前のボタンを無効または非表示にしたい。ボタンを無効にするか非表示にするかは問題ではありません

前もって感謝します!

4

5 に答える 5

0

あなたが達成したいことをすべて理解したかどうかはわかりませんが、あなたの質問から私が作ったものは次のとおりです。

<script>

    document.forms[0].onsubmit = function(e){

        e.preventDefault();  // at the beginning stop page from being reloaded by the script
        var form = e.currentTarget; // get form
        form.push_check.disabled = true; // set submit-button disabled

        if(form.idUser.value){ // send data if there is data to send
           document.forms[0].onsubmit = null; // set event listener null otherwise onsubmit is a forever-loop
           document.forms[0].submit();  // send finally data to the php-script
        }
        else{
           form.mysubmit.disabled = false; // there was no data to send
        }
    }
</script>

この小さなスクリプトは、body タグの後または中に配置できます。各ブラウザで動作するはずです。

于 2013-06-12T18:56:35.057 に答える
0

ページの読み込みを防ぐもう1つの方法は、ターゲットを使用することです

<form action='' method='POST' target='upload_target' onsubmit='hide(dynamicid)'>

fields between form.....
<input type='submit' id='dynamicid'/>
<iframe id='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px solid #fff;'></iframe>
</form>
于 2013-06-12T19:01:49.140 に答える
0

こんにちは私はこれでそれを行うことができます:

<?php
                        $push_button = $row->time_push;
                        if($push_button==0)
                        {
                      ?>
                    <td> 
                        <input type="submit" id='push$thecounter' name="push_check" value="Enviar Push">
                    </td>
                    <?php
                        }
                        ?>

私はすでに自分のDBにクエリを作成しており、ボタンが変更されているため、その変更が既に行われているかどうかを確認しています。そうでない場合は、ボタンを表示しています! たくさんのコメントありがとうございます!

于 2013-06-13T15:03:57.720 に答える
0

PHP:-

<?php
        $theCounter=0;
        while($row = mysql_fetch_object($result))
        {

Echo "

        <form id='id' action='table.php' method='post'>
        <input type='hidden' value='$row->id_table;' name='idUser'>
            <tr>
                <td>$row->id_userS</td>
                <td>$row->username_s</td>
                <td>$row->num_people</td>
                <td>$row->start_time</td>
                <td> 
                    <input type='submit' id='del$thecounter' name='delete_check' value='Eliminar' onclick='hide(del$thecounter)'> 
                </td>
                <td> 
                    <input type='submit' id='push$thecounter' name='push_check' value='Enviar Push' onclick='hide(push$thecounter)'>
                </td>
          </form>
";
        $theCounter++;
        }
?>

Javascript を使用するようになりました:-

function hide(a)
{
     document.getElementById(a).style.visibility="hidden";
}
于 2013-06-12T18:16:07.060 に答える
0

最初の送信後にすべてのページの読み込みでボタンを無効にする場合は、ボタンが既にクリックされたことを示すフラグをセッションに保存する必要があります。また、ページを読み込むたびにそのフラグを確認する必要があります。

于 2013-06-12T18:19:30.610 に答える