表单提交问题(第一次页面加载错误)

Form Submission Issue (page load error first time)

本文关键字:加载 错误 问题 第一次 表单提交      更新时间:2023-09-26

当使用表单将数据插入本地数据库时,我遇到了问题。不管出于什么原因,当第一次点击提交按钮时,会弹出"Error Loading Page"消息并刷新表单页面,但是如果我在表单中重新输入信息并再次点击按钮,数据就会被输入到数据库中,并且页面移动到正确的位置#MoneyOrdersMain。我很困惑是什么导致了这种情况。任何帮助都会很感激。特别是什么会导致表单第一次没有提交?

的形式:

<form method="post" id="moneyorder_form" name="moneyorder_form" onsubmit="MOsubmit()">
            <!-- onsubmit="closeSelf()"> -->
            <div class="ui-grid-a">
                <div class="ui-block-a">
                    <p style="text-align: center; display: inline"><b>Number</b></p>
                    <p>
                        <input type="number" required="required" step="1" id="moCNumber" name="moCNumber">
                    </p>
                </div>
                <div class="ui-block-b">
                    <p style="text-align: center; display: inline"><b>Amount</b></p>
                    <p>
                        <input type="number" required="required" min=".01" step=".01" id="moCAmount" name="moCAmount">
                    </p>
                </div>
                <br />
            </div>
            <div class="ui-grid-solo">
                <div class="ui-block-a">
                    <input type="submit" data-role="button" value="Add" />
                </div>
            </div>
    </form>

MOsubmit()函数:

function MOsubmit() {
insertMoC($('#moCNumber').val(), $('#moCAmount').val(), "MoneyOrder");
$.mobile.changePage('#MoneyOrdersMain');
location.reload(true);
}
function insertMoC(moCNumber, moCAmount, moCType) {
db.transaction(function (tx) {
    tx.executeSql('INSERT INTO MoneyOrderChecks (moCNumber, moCAmount, moCType) VALUES (?, ?, ?)', [moCNumber, moCAmount, moCType]);
});
}

我相信我已经找到了问题的一部分,以防其他人遇到同样的问题。我试图作为表单提交函数的一部分调用的页面#MoneyOrdersMain是保存表单的页面的父页面。当第一次提交表单时,这似乎导致了一个问题。由于MOsubmit函数包含表单页面的刷新,#MoneyOrdersMain不再是"父",可以接受表单数据。现在一切都很好,我已经将用户重定向到表单提交函数中的#MoneyOrdersMain以外的页面。然而,#MoneyOrdersMain是我最终希望用户在表单提交后结束的地方,所以这是我的下一个挑战。