2

私はframework7.ioを使用しています。フレームワークイベントを使用して機能していますが、onclickイベントはページイベントpageInitとバインドされていません。

以下に示すように、フォーム データにアクセスし、それを json に変換しようとしてformTOJSONいます。

JS部分

//on page in it if page load via ajax 
$$(document).on('pageInit', function() {

    /*========query form=======*/

    var queryForm = app.formToJSON('#query-form');
    $$('#query-submit').on('click', function () {
       console.log(JSON.stringify(queryForm));
    });

});

HTML 部分

<form id="query-form">
                    <div class="color-error" id="formErrorField" style="display: none;"></div>
                    <ul>
                        <li>
                            <div class="item-content">
                                <div class="item-inner">
                                    <div class="item-input">
                                        <textarea name="question" placeholder="Type Here!"></textarea>
                                    </div>
                                </div>
                            </div>
                        </li>
                    </ul>
                    <br/>
                    <a href="#" class="button button-fill" id="query-submit">Submit</a>
                </form>

同じコードが別のページの読み込み(非 ajax) で機能しています。

4

1 に答える 1

4

実際、バインディングはあなたのコードでは問題ないようです。
クリック イベント ハンドル ブロック内に formToJSON コードを保持してください。

$$(document).on('pageInit', function() {
    var queryForm = null;
    $$('#query-submit').on('click', function () {
     queryForm = app.formToJSON('#query-form');
       console.log(JSON.stringify(queryForm));
    });
});

PageInit が発生しているとき、コードによると queryForm 変数は空です。フォームに入力した後、値を取得したいので、クリックイベントハンドラー内に保管してください。お役に立てれば。

于 2016-06-21T07:14:44.747 に答える