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 回答