0

Ok, I've been going nuts for hours trying to figure this out...

I want my form to be disabled after clicking it so multiple submissions don't occur. But when ever I try methods to disable it.. And I have tried MANY ways, It will disable the button after clicking it but it stops all the functions that form was supposed to do. for instance adding this to my code disables the form after clicking it but stops all functions.

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

Here is my form

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

Here is what is supposed to happen when the form is clicked ( I know the code is horrible and unsafe but it works and thats pretty much what I need.)

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>";
}

?>
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Nick
  • 213
  • 1
  • 9

2 Answers2

1

Using Jquery

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

Refer this Question

Community
  • 1
  • 1
Ganesh RJ
  • 942
  • 2
  • 19
  • 31
  • Is there a certain way I need to disable my form before I use this? or can I disable it the same way with onclick= – Nick Mar 30 '13 at 08:10
  • it same thing with on click – Ganesh RJ Mar 30 '13 at 08:15
  • Could you show me how to set it up with my code? I have been trying for 30mins and can't seem to make it work :/ – Nick Mar 30 '13 at 08:19
  • 1
    Ohhh... I don't need to add anything but the code you gave me I see.... I was disabling it and adding the code you gave me. thanks for the help! – Nick Mar 30 '13 at 08:45
0
$("form").live('submit', function(event) {
    if (true) { //validation
      return false;
    } else {
      return true;
    }
  });
Suresh Atta
  • 120,458
  • 37
  • 198
  • 307
  • I'm sorry, but I'm pretty new to all of this what exactly am I supposed to do with it ^^^ – Nick Mar 30 '13 at 07:59