0

わかりました、私はこれを理解しようとして何時間も夢中になっています...

複数の送信が発生しないように、フォームをクリックした後にフォームを無効にしたい。しかし、それを無効にする方法を試すときはいつでも..そして、私は多くの方法を試しました.ボタンをクリックすると無効になりますが、フォームが実行するはずだったすべての機能が停止します. たとえば、これをコードに追加すると、フォームをクリックした後にフォームが無効になりますが、すべての機能が停止します。

onclick="this.disabled=true;this.value='Sending, please wait...';this.form.submit();"

これが私のフォームです

<form name="input" action="" method="post" id="id">
  <div align="center">
    <input name="Submit" id="Submit" type="submit" class="button" value="Explore Map!"/>
  </div>
</form> 

フォームがクリックされたときに何が起こるかは次のとおりです (コードが恐ろしく安全でないことはわかっていますが、機能し、それが私が必要としているものです。)

if (isset($_POST['Submit'])) {

include 'includes/mapstuff.php';

// Ok so we called the submit button sbubmit and the method is post so

// So here we pick a random row from the table pokemon notice the order by rand
$sql23 = "SELECT * FROM map1pokemon ORDER BY RAND() LIMIT 1;";
// We then check for errors
$result23 = mysql_query($sql23) or die(mysql_error());
// we then make the result into a virable called battle_get23
$battle_get23 = mysql_fetch_array($result23);

$sql2 = "SELECT * FROM pokemon WHERE name='".$battle_get23['pokemon']."'";
$result2 = mysql_query($sql2) or die(mysql_error());
$battle_get2 = mysql_fetch_array($result2);

// Now we need to make sure the image is safe be for we use it
$pic2= mysql_real_escape_string($battle_get2['pic']);
$pic = strip_tags($pic2);


include 'includes/maptypes.php';


?>


<form name="inputt" action="" method="post">
  <div align="center">
    <input type="submit" class="catch" value="Catch Pokemon" name="catch">
  </div>
</form> 
<p></p>

<?php
echo "You have just found a " ;
echo $randomview[0];
echo " ";

// we can now print off any column we want about the random pokemon e.g the name the pic etc... here I chose to print out the name.but th
echo $battle_get23['pokemon'];


$_SESSION['pokemon'] = $battle_get23['pokemon']; 
$_SESSION['type'] = $randomview[0];
$_SESSION['pic'] = $battle_get2;
$_SESSION['money'] = $randomview2[0];
$_SESSION['level'] = $randomview3[0];
$_SESSION['ticket'] = $randomview4;

?>
<p></p>
<?php
echo "You have gained ".$randomview3[0]." levels" ;
echo " ";
?>
<p></p>
<?php
echo "You have received $".$randomview2[0]."" ;
echo " ";
?>
<p></p>
<?php
echo "</center>";
}

?>
4

2 に答える 2

1

Jquery の使用

$("form").submit(function() {
    $(this).submit(function() {
        return false;
    });
    return true;
});

この質問を参照してください

于 2013-03-30T07:40:09.980 に答える
0
$("form").live('submit', function(event) {
    if (true) { //validation
      return false;
    } else {
      return true;
    }
  });
于 2013-03-30T07:51:01.033 に答える