2016-06-20 16 views
1

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

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

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)のために働いています。

答えて

3

実際には、バインディングはコード内で問題がないようです。
クリックイベントハンドルブロック内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変数はあなたが取得したいフォームを埋め、あなたのcode.Afterに応じて空で起こっているときなのでvalue.Soクリックの内側に保ちますイベントハンドラ。 これが役立つことを願っています。

+0

もう1つ問題があります。 'pageinit'はページの読み込みで2回呼び出されます。 –

+1

実際には、ドキュメント上でonPageInitを呼び出していますので、最初にドキュメント全体がロードされているときに呼び出されていて、実際にビューにロードされているときに2番目に呼び出されています。この〜app.onPageInit( 'about'、function(page){//ここでコード})を使用できます。 //あなたのデータページ属性です。 – Mahen

関連する問題