使用jQuery自动提交不起作用的表单

时间:2012-05-26 12:48:31

标签: php jquery ajax forms form-submit

我有一个表单:<form id="form" action="updatescore.php" method="post">和一个php文件:updatescore.php,其中包含使用表单中的输入值更新数据库的代码。这一切都适用于使用提交按钮。

现在我想删除提交按钮并在javascript语句为真时提交表单。

js代码部分是:

if (document.getElementById('uhs').innerHTML > 0) { //this is true because the div gone is hidden
                    $('#gone').hide();
                    $.ajax({
                        type: "POST",
                        data: $("#form").serialize(),
                        cache: false,
                        url: "updatescore.php",
                        success: function () { //if submit to db is done
                            getUsers(1); //a function to reload a page overview
                        }
                    });
                }

但如果语句为true且数据库未更新,则没有任何反应。关于这个的任何想法?

亲切的问候,

3 个答案:

答案 0 :(得分:0)

你确定条件是真的吗?

if (document.getElementById('uhs').innerHTML > 0) { //this is true because the div gone is hidden
   alert('its true');

这也不对:

if (document.getElementById('uhs').innerHTML > 0)   

也许:

if (document.getElementById('uhs').innerHTML.length > 0)

或:

if ($('#gone')[0].style.display=="none") {

答案 1 :(得分:0)

提交按钮是触发运行代码的事件的原因:

 $('#gone').hide();
                $.ajax({
                    type: "POST",
                    data: $("#form").serialize(),
                    cache: false,
                    url: "updatescore.php",
                    success: function () { //if submit to db is done
                        getUsers(1); //a function to reload a page overview
                    }
                });

document.getElementById('uhs')。innerHTML&gt; 0不是事件,因此无法运行您的代码。

试试这个......

   document.addEventListener('keyup', function (e) {
           //
          if (document.getElementById('uhs').innerHTML > 0) { 
                $('#gone').hide();
                $.ajax({
                    type: "POST",
                    data: $("#form").serialize(),
                    cache: false,
                    url: "updatescore.php",
                    success: function () { //if submit to db is done
                        getUsers(1); //a function to reload a page overview
                    }
                });
            }
    });

答案 2 :(得分:0)

感谢您的回复。代码工作正常,但似乎代码的另一部分中的错误正在搞乱AJAX调用。所以最后代码完全没有问题。

再次感谢回复和建议!