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

时间:2022-11-07 13:16:51

I'm using framework7.io. I'm using their framework events and functioning but the onclick event is not bind with their page event pageInit.

我用framework7.io。我正在使用它们的框架事件和功能,但是onclick事件并没有与它们的页面事件pageInit绑定。

I'm try to access form Data and convert it to json using formTOJSON as shown below.

我尝试访问表单数据并使用formTOJSON将其转换为json,如下所示。

JS part

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 part

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>

The same code is working for a different page load (non-ajax).

同样的代码也适用于不同的页面加载(非ajax)。

1 个解决方案

#1


3  

Actually binding seems fine in your code.
Keep formToJSON code inside click event handle block try this:

实际上,绑定在代码中看起来很好。将formToJSON代码保存在单击事件句柄块中,请尝试以下操作:

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

Because when PageInit is happening your queryForm variable is empty according to your code.After filling the form you want to get value.So keep inside the click event handler. Hope this helps.

因为当PageInit发生时,根据代码,您的queryForm变量是空的。填完表格后,你想要获得价值。所以请保存在单击事件处理程序中。希望这个有帮助。

#1


3  

Actually binding seems fine in your code.
Keep formToJSON code inside click event handle block try this:

实际上,绑定在代码中看起来很好。将formToJSON代码保存在单击事件句柄块中,请尝试以下操作:

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

Because when PageInit is happening your queryForm variable is empty according to your code.After filling the form you want to get value.So keep inside the click event handler. Hope this helps.

因为当PageInit发生时,根据代码,您的queryForm变量是空的。填完表格后,你想要获得价值。所以请保存在单击事件处理程序中。希望这个有帮助。