我正在尝试使用jquery按下按钮,因此用户无法多次单击该按钮但是它无法正常工作,我可以一遍又一遍地重新点击注册按钮!我做了我的研究并找到了解决方案,但似乎可以让它们适用于我的场景!
继承人我的javascript $(文件)。就绪(函数(){
$('#button').click(function(e){
$('#button').prop('disabled',true);
var setIt = 'set' ;
$.post("form.php",{pull_form: setIt},function(data){
$('.msg').fadeOut('slow',function(){
$(this).html(data);
$('.red').hide();
$('.all').hide();
$('.red').fadeIn('slow');
$('.all').fadeIn('slow');
}).fadeIn('slow');
$('.red').click(function(){
$('.all').css('display','none') ;
})
})
e.preventDefault() ;
})
}) ;
继承我的HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using GET</title>
<link rel="stylesheet" href="css.css" media="screen" type="text/css">
</head>
<body>
<h1>Click the button to Register now</h1>
<button type="button" >
<a id='button' href="register.php">Register</a>
</button>
<div class="msg">
</div>
<div class="msg2">
</div>
<div class="all">
<button type="button" class="red">X</button>
</div>
<script src='../jquery.js'></script>
<script type="text/javascript" src='custom.js'></script>
</body>
</html>
这是我的ajax打电话给
的文件 <?php
if(isset($_POST['pull_form'])) {
?>
<div class="all">
<h2>Register</h2>
<form class="" action="index.html" method="post">
<input type="text" name="name" value="">
<input type="text" name="password" value="">
<input type="submit" name="submit" value="Submit">
</form>
</div>
<?php
}
?>
答案 0 :(得分:2)
首先,您可以更改#button
元素。它不是一个按钮。您只能使用a
代码。
并按照:
<form class="Myfrom" action="your_action_page.php" method="post">
<input type="text" name="name" value="">
<input type="text" name="password" value="">
<input type="submit" id="submit-button" name="submit" value="Submit">
</form>
$(".Myfrom").on("submit", "#submit-button", function(e){
e.preventDefault() ;
$(this).prop('disabled',true);
});
答案 1 :(得分:0)
您的#button
不一个按钮,它是一个a
元素。要禁止a
代码重定向,您应将其href
属性设置为javascript: void(0)
。
答案 2 :(得分:0)
你需要看看这个:https://api.jquery.com/Ajax_Events/ 一个小例子:http://pastebin.com/jAKiZqE6 不要担心按钮上的事件,控制提交表单事件。 您也可以尝试将您的php post代码放在不同的文件中,而不使用HTML。