【问题标题】:Cannot submit POST form using jQuery?无法使用 jQuery 提交 POST 表单?
【发布时间】:2016-04-25 19:32:34
【问题描述】:

我有以下表格:

<form id="form1" class="form1" action="https://www.someexternalsite.com/api/some/route?encoding=UTF-8" method="POST">
    <input type=hidden id="pid" name="pid" value="00NJAHSJASASAS">
    <label for="symbol">Symbol</label><input id="symbol" name="00NALKSJSKA" maxlength="10" size="20" type="text" />
    <input type="button" name="submitThis" id="qwSubmit" class="submitForm1Button" value="Submit">
</form>

我的 js 来挂钩 onclick 事件处理:

$(function () {
    $("#qwSubmit").click(function (e) {
        e.preventDefault();

        try {
            validateForm(); // this includes some ajax requests for some parts of the validation
        } catch (e) {
            showValidationError(e);
            return;
        }

        $("#form1").submit();
    });

    $("#form1").keypress(function (event) {
        if (window.event) event = window.event;
        if (event.keyCode == 13) {
            event.preventDefault ? event.preventDefault() : event.returnValue = false;
            $("#qwSubmit").click();
        }
    });
});

我错过了什么或做错了什么阻止了提交?

编辑:

没有 js 错误。当我点击提交时,它就在那里;我确实看到它触发了 ajax 来验证某些字段。

编辑:

我也试过了:

button.submit(function(er) {e.prevent... return true});

【问题讨论】:

  • showValidationError() 在做什么吗?
  • 是否有任何 JavaScript 错误?
  • 只改变soem div的innerHTML
  • 为什么不把你所有的提交代码放在一个单独的函数中,并在你的点击和按键事件中调用它?
  • 与其尝试捕捉所有可能的提交表单的方式,不如听听submit 事件呢?

标签: jquery forms post


【解决方案1】:

它可能永远不会返回到内联函数。

我建议更改流程,以便验证功能成功提交表单。

$(function () {
    function validateForm() {
        // validation logic

        // Submit form
        $("#form1").submit();
    }

    $("#qwSubmit").click(function (e) {
        e.preventDefault();

        try {
            validateForm(); // this includes some ajax requests for some parts of the validation
        } catch (e) {
            showValidationError(e);
            return;
        }
    });

    $("#form1").keypress(function (event) {
        if (window.event) event = window.event;
        if (event.keyCode == 13) {
            event.preventDefault ? event.preventDefault() : event.returnValue = false;
            $("#qwSubmit").click();
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 2014-11-10
    相关资源
    最近更新 更多