javascript - 重置 Jquery 移动多页面应用程序先前表单中的输入

标签 javascript html forms validation jquery-mobile

我使用 Jquery Mobile 开发了一个应用程序,在单个 html 文件中包含多个页面(每个页面都有一个单独的表单)。

直到现在我还没有弄清楚当 按下“后退”按钮(位于页面标题上的 data-rel="back"类型),将显示上一个表单。

我的流程与下面描述的类似:

  1. 显示页面登录

  2. 在登录页面填写字段(用户、密码),验证表单并提交。

  3. 提交后,将页面更改为第二页(相同的 HTML,data-role="page")

  4. 按第二页(非浏览器)上的后退按钮后,登录页面 仍然显示所有输入字段已填充。

我看到了很多片段,但与这个问题没有特别相关,当我尝试时 应用其中一些我没有得到解决这个问题的线索。

有人可以帮忙吗?谢谢!

最佳答案

如果您想在每次访问表单时清除字段,您可以简单地使用 pagebeforeshow 事件:

$('#page1').on('pagebeforeshow', function (event, data) {
    //clear fields here    
});

如果您只想在从第二页返回时清除字段,则同一事件有第二个参数,它告诉您来自哪里。

$('#page1').on('pagebeforeshow', function (event, data) {
    var prevPageID = $(data.prevPage).attr("id");
    if (prevPageID == "page2"){
       //clear fields   
    }
});

API 文档可以在这里找到:http://api.jquerymobile.com/pagebeforeshow/

关于javascript - 重置 Jquery 移动多页面应用程序先前表单中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848769/

相关文章:

javascript - 表单提交上显示的消息立即消失

Javascript .replaceAll() 不是函数类型错误

javascript - jQuery:如何从 parent 那里找到 sibling

javascript - 如何将 CSS 变换矩阵转换回其组件属性

javascript - 下载我在html中选择的文件

.net - Powershell 中的点网表单未以 3D 形式显示

javascript - AngularJS:如何在指令中使用 JS 脚本

html - 组 'calc()' CSS 属性;使用 margin 速记?

jquery - Jquery Mobile 中的简单表单提交

c# - 如何在 C# 的表单应用程序中输出参数?