我已经设置了一个带有提交按钮的表单来进行投票。数据将使用php存储在数据库中。为了防止垃圾邮件,我搜索了一个jquery选项来禁用按钮一段时间。不幸的是,它在表单中不起作用。例如,如果我删除按钮周围的表单,它可以正常工作,但因为我必须存储按钮的值,所以我需要有表单属性。现在发生的情况是,AND我的表单没有处理上面的php代码(我没有为此输入代码),禁用按钮功能也不起作用(按钮被禁用的时间大约为1秒,而不是它认为的时间)。
<div class="row">
<form name="stemmen" id="formstemmen" action="stemmensofeed.php" method="post">
<div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;">
<?php if (!empty($answer1)) { echo '<input type="submit" id="wordpress" class="btn btn-primary" name="wordpress" value='.$answer1.'>'; } ?>
</div>
<div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;">
<?php if (!empty($answer2)) { echo '<input type="submit" class="btn btn-primary" name="laravel" value='.$answer2.'>'; } ?>
</div>
<div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;">
<?php if (!empty($answer3)) { echo '<input type="submit" class="btn btn-primary" name="html" value='.$answer3.'>'; } ?>
</div>
<div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;">
<?php if (!empty($answer4)) { echo '<input type="submit" class="btn btn-primary" name="css" value='.$answer4.'>'; } ?>
</div>
<div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;">
<?php if (!empty($answer5)) { echo '<input type="submit" class="btn btn-primary" name="bootstrap" value='.$answer5.'>'; } ?>
</div>
</form>
</div>
<!-- jQuery 2.2.0 -->
<script src="admin/plugins/jQuery/jQuery-2.2.0.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="bootstrap-sass/assets/javascripts/bootstrap.js"></script>
<script>
$('input#wordpress').click(function() {
var aaa = $(this);
aaa.prop('disabled', true);
setTimeout(function() {
aaa.prop('disabled', false);
}, 3000);
});
</script>
我不是javascript和jquery的专家,所以有人能帮我解决这个问题吗?
原始代码中的小提琴http://jsfiddle.net/jhNcM/=预期结果(+处理表单中的php代码)。
编辑
我已经设法让禁用按钮工作,感谢@Koustav-Ray,通过这个代码
$('input#wordpress').click(function(e) { //added e
e.preventDefault(); //added this
var aaa = $(this);
aaa.prop('disabled', true);
setTimeout(function() {
aaa.prop('disabled', false);
}, 3000);
});
不幸的是,该表单现在无法处理php代码。。请帮忙处理这件事!
$('input#wordpress').click(function(e) {
e.preventDefault();
var aaa = $(this);
aaa.prop('disabled', true);
setTimeout(function() {
aaa.prop('disabled', false);
}, 3000);
});
这应该可以做到…不过你要禁用它3秒钟。。考虑@Nergal的回答,然后尝试ajax提交表单。。