1

使用表单将数据插入本地数据库时遇到问题。无论出于何种原因,第一次单击提交按钮时都会弹出“错误加载页面”消息并刷新表单页面,但如果我将信息重新输入表单并再次单击按钮,则数据将输入数据库并且页面移动转到#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]);
});
}
4

1 回答 1

0

我相信我已经弄清楚了问题的一部分,以防其他人遇到同样类型的问题。我试图作为表单提交功能的一部分调用的页面#MoneyOrdersMain 是保存表单的页面的父级。第一次提交表单时,这似乎导致了问题。由于 MOsubmit 函数包括表单页面的刷新,#MoneyOrdersMain 不再是“父级”并且可以接受表单数据。现在一切正常,因为我已在表单提交功能中将用户重定向到 #MoneyOrdersMain 以外的页面。但是,#MoneyOrdersMain 是我最终希望用户在表单提交后结束的地方,所以这是我的下一个挑战。

于 2013-04-08T20:57:17.197 回答