如果用户没有阅读条款和条件,我有一个红色的按钮。如果用户单击Acknowledge按钮,它会将日期和时间发布到数据库中,然后以绿色返回一个禁用的按钮。但是,当我提交时,它会直接进入下一页。谁能告诉我我的代码有什么问题?
标记:
<div class="acknowledge">
<form method="post" name="blitzread" action="blitzread.php" id="submit">
<input type="hidden" name="emp_id" value="<?php echo $emp_id; ?>">
<input type="hidden" name="current_time" value="<?php echo $current_time; ?>">
<button type="submit" name="Submit" class="btn btn-large btn-danger">Acknowledge</button>
</form>
</div>
使用Javascript:
$('#submit').submit(function() {
e.preventDefault();
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('.acknowledge').html("<button class="btn btn-large btn-success disabled">Acknowledge</button>");
}
});
return false;
});
答案 0 :(得分:2)
问题是e
未定义。
该函数的第一个参数是jQuery事件对象,您可以在其上调用preventDefault()
。所以你的代码应该是这样的:
$('#submit').submit(function(e) {
e.preventDefault();
答案 1 :(得分:1)
您忘记了e
参数
$('#submit').submit(function(e) {
e.preventDefault();
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('.acknowledge').html("<button class="btn btn-large btn-success disabled">Acknowledge</button>");
}
});
return false;
});
答案 2 :(得分:1)
您忘记在e
中添加function()
个参数:
您的代码应该是这样的:
$('#submit').submit(function(e) {
e.preventDefault();
e.stopPropagation();
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('.acknowledge').html('<button class="btn btn-large btn-success disabled">Acknowledge</button>');
}
});
return false;
});