OStack程序员社区-中国程序员成长平台

标题: javascript - 框架 7 onclick 事件绑定(bind)不起作用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:46
标题: javascript - 框架 7 onclick 事件绑定(bind)不起作用

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

我正在尝试访问表单数据并使用 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)。



Best Answer-推荐答案


实际上在您的代码中绑定(bind)似乎很好。
将 formToJSON 代码保留在 click 事件句柄 block 中试试这个:

$$(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 事件处理程序中。 希望这会有所帮助。

关于javascript - 框架 7 onclick 事件绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915488/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4