我一直在努力弄清楚随着时间的推移,我在一个旧的ajax请求中遇到了什么问题,该请求只是将结果提取到div中,而不是转到表单提交页面。 jQuery $已初始化,但此功能将不会触发,甚至在文档就绪状态下添加了一个不会触发的警报?
// this is the id of the form
$(document).ready(function() {
alert("ready");
$("#rewardsRoll").submit(function(e) {
alert("roll");
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(),
success: function(data) {
$('#RewardsDiceDiv').html(data);
}
});
return false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="RewardsDiceDiv">
<div style="min-height:50px;text-align:center">
<form id="rewardsRoll" method="post" action="https://www.allfreechips.com/phpBB2/../dicerewards.php">
<input type="hidden" name="securitytoken" value="tttt" />
<input type="hidden" name="s" value="" />
<input type="submit" class="button" name="submit" value="Use one of your 9958 AFC Rewards"></form>
</div>
<div class="dice-container">
<div class="dice-item">
// show dice...
</div>
答案 0 :(得分:1)
尝试一下:
$("#rewardsRoll").submit(function(e) {
e.preventDefault();
alert("roll");
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(),
success: function(data) {
$( '#RewardsDiceDiv' ).html( data );
}
});
return false;
}
答案 1 :(得分:0)
由于某种原因,它可以使用一年,但实际上javascript早已不在表单之前,而现在都可以在表单之后使用脚本。