框架7 onclick事件绑定不起作用

时间:2016-06-20 06:02:18

标签: javascript jquery ios html-framework-7 event-binding

我正在使用framework7.io。我正在使用他们的框架事件和功能,但 onclick 事件未与其页面事件 pageInit 绑定。

我尝试访问表单数据并使用formTOJSON将其转换为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)。

1 个答案:

答案 0 :(得分:3)

实际上,你的代码中的绑定似乎很好 将formToJSON代码保存在click事件句柄块内,试试这个:

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

因为当PageInit发生时,你的queryForm变量根据你的代码是空的。填写表单后你想获得值。所以保持在click事件处理程序中。 希望这会有所帮助。