【问题标题】:What is a standard way to display errors in jQuery Mobile在 jQuery Mobile 中显示错误的标准方法是什么
【发布时间】:2012-04-03 19:02:25
【问题描述】:

我已经构建了一个简单的登录 POST 表单,它通过 AJAX 提交(默认配置,我没有更改任何内容)。当用户提交错误数据时,会加载如下页面:

<div data-role="page" id="main_mobile_page">

    <div data-role="header" data-id="fixed_header" data-position="fixed">
        ...
    </div>

    <div data-role="content">
        ...display:none DIV with the text of error...
        ...sign in form...
    </div>

    <div data-role="footer" data-id="fixed_footer" data-position="fixed">
        ...
    </div>

</div>

显示错误弹出窗口的标准和最简单的方法是什么。我尝试了许多实现,包括原生 jQuery Mobile 对话框(我生成了一个单独的“页面”,其中包含错误文本并过渡到它)和插件,如 SimpleDialog。所有的实现都有问题,常见的问题是:

  • 当您单击对话框中的“确定”按钮时会随机发生一些事情(即 data-rel="back" 不能正常工作)。可能是因为表单是通过 POST 提交的。

  • 当 jQuery Mobile 通过 AJAX 加载页面时,它有时会隐藏旧页面而不是清除它,我最终会得到包含多个 id="main_mobile_page" 页面的 HTML,因此无法正确定位我的框并出现错误。

jQuery Mobile 是否有一些等效于 JS 的 alert() 来简单地显示错误,而不会使事情过于复杂并将其作为单独的页面加载处理?如果不是,实现这种“错误”弹出窗口的标准方法是什么?最终我想用 PhoneGap 编译它,我希望它会选择这个“alert-s”并将其转换为特定手机型号的本机“错误弹出窗口”。

【问题讨论】:

  • 你可以做一个JS alert().

标签: jquery-mobile cordova jquery-dialog


【解决方案1】:

你为什么不使用 phonegap 通知?

navigator.notification.alert(
  'Please try again', // BODY COPY
  alertConfirm, // CALL BACK FUNCTION
  'Oops something went wrong!', // TITLE
  'OK' // BUTTON TEXT
);

navigator.notification.confirm(
  'Please try again', // BODY COPY
  alertConfirm, // CALL BACK FUNCTION
  'Oops something went wrong!', // TITLE
  'LAME, TRY AGAIN' // BUTTON TEXT
);

您将需要一个充当回调的函数 - 如果您进行确认,您可以查看单击了哪个按钮并根据该按钮执行操作。

function alertConfirm(b){
  if(b == 1){
   // BUTTON 1 WAS CLICKED
  }
  else {
   // BUTTON 2 WAS CLICKED
  }
}

【讨论】:

  • 谢谢,这正是我所需要的!
猜你喜欢
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
相关资源
最近更新 更多