这是我的代码:
$(document).ready(function () {
var num ="1";
document.getElementById("numid").setAttribute("value", num);
document.forms["form"].submit();
});
当我加载此页面时,它将继续提交并再次提交。 有什么方法可以让它只运行一次吗?
答案 0 :(得分:0)
$(document).ready(function () {
var num ="1";
document.getElementById("numid").setAttribute("value", num);
var form = document.forms["form"];
form.on('submit', function (e) {
e.preventDefault();
});
form.submit();
});
不确定为什么需要在页面加载时提交表单。
答案 1 :(得分:0)
使用jQuery而不是dom API
$(document).ready(function () {
var num ="1";
$('#numid').attr('value',num);
$('#form').submit();
});
也使用防止默认
答案 2 :(得分:0)
$(document).ready(function () {
var num ="1";
var isSubmit = false;
document.getElementById("numid").setAttribute("value", num);
if(!isSubmit){
document.forms["form"].submit(function() {
isSubmit = true;
});
}
});
答案 3 :(得分:0)
当您执行document.forms["form"].submit();
时,页面会重新加载。所以我猜你正在使用错误的方法解决问题。也许你可以做一个ajax请求并替换在此document.getElementById("numid").setAttribute("value", num);
之后应该更改的网页的某些部分
尝试类似的东西
$.ajax({
type: "POST",
url: 'http://something.com',
data: "id=" + num ,
success: function(data) {
$('#someDiv').html(data);
}
});