1

I'm having issues when using a form to insert data into a local database. For whatever reason the first time the submit button is clicked a "Error Loading Page" message pops up and the form page refreshes, but if I reenter information into the form and click the button again the data is entered into the database and the page moves on to the correct place at #MoneyOrdersMain. I am confused as to what could be causing this. Any help would be appreciated. Particularly what would be causing the form to not submit the first time?

The Form:

<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:

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 に答える