只运行一次jquery函数

时间:2015-04-10 09:39:09

标签: javascript jquery

这是我的代码:

$(document).ready(function () {
    var num ="1";
    document.getElementById("numid").setAttribute("value", num);
    document.forms["form"].submit();
});

当我加载此页面时,它将继续提交并再次提交。 有什么方法可以让它只运行一次吗?

4 个答案:

答案 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);
     }
   });