我正在使用 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)。
实际上在您的代码中绑定(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 |