Jquery提交功能不发送帖子数据

时间:2017-11-07 14:46:27

标签: jquery forms

感谢有关此问题的任何指导,因为我找不到合适的文档来解决此问题。

我有一个基本表单,它将一些数据发送到php页面进行处理。我最近安装了一个Jquery脚本,以防止多次按下提交按钮。据我所知,Submit()函数没有将Post数据传递到下一个PHP页面进行处理,也不确定我缺少什么。

以下是表格:

    <form class="form-inline" style="display: inline-block;" action="XXX.php" method="post">
    <input name="Country" type="hidden" value="USA"/>
    <input name="Subject" type="hidden" value="Item1"/>
    <input name="Record_ID" type="hidden" value="1"/>
    <button name="App" type="submit" value="New" class="btn btn-primary">Send Request</button>
    </form>

这是脚本:

    <script>
    $(document).ready(function () {
        $('form').submit(function() {
            //disable the submit button and update text
            $(this).children('button').attr("disabled", true);
            $(this).children('button').text('Please Wait...');
            return true;
        });
    });
    </script>

当我点击&#34;发送请求&#34;按钮,文本更改,表单提交,但帖子数据似乎没有出现。我已经看过像序列化这样的引用,但由于我没有使用Ajax,因此无法弄清楚如何使其工作。感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:0)

****这里有什么实际上结束了工作,虽然我无法禁用按钮,因为它打破了表格,如果我尝试这样做。我可以说我没有正确使用jquery选择器,因为在我尝试$(this).child(&#39; button&#39;)之前,它无法正确选择按钮。下面的版本有效,但是如果我尝试添加这一行:

$("button", this).attr('disabled', true);

然后表格不会提交。所以下面的代码确实有效(感谢@Taplar),我已经确认它只允许一次提交表单...用户可以坐在那里,如果他们想要点击它一百次,但是没有任何反应首先点击。

    $(document).ready(function () {
        var formsEnabled = true;

      $('form').submit(function(e) {
        if (!formsEnabled) e.preventDefault();
        $("button", this).text('Please Wait...');

        formsEnabled = false;
      });
    });

答案 1 :(得分:0)

这没有经过测试,但是如何:

$(this).css("pointer-events:none");

这应禁用单击按钮,而不禁用POST数据。