[英]Javascript confirm dialog on Windows 8.1 Store App
我目前正在创建一个Windows 8.1商店应用程序,使用html5,bing maps,javascript,phonegap和jquery。
我的应用程序中有一个按钮,单击该按钮可调用以下功能
function resetFields() {
var svar;
var tryk = confirm("Are you sure!");
if (tryk === true) {
svar = "You pressed OK!";
} else {
svar = "You pressed Cancel!";
}
alert(svar);
}
该函数被称为正常,我看到了一个人们所期望的确认对话框。 但是,无论按哪个按钮,结果都是相同的 - 对话框响应就像按下了“取消”按钮一样。
我试过if (tryk === true)
和if (tryk == true)
但结果是一样的。
我错过了什么?
甚至alert(confirm("Are you sure!"))
正在返回'undefined',所以我认为我的答案比基本代码更深。
我只是通过一些PhoneGap文档,因为它是围绕html5和javascript支持jquery构建的,它倾向于覆盖我们通常在浏览器中看到的某些元素,以利用本机设备元素,如确认对话框。
从通知确认api文档 :
函数notification.confirm显示一个本机对话框,该对话框比浏览器的确认功能更具可自定义性。
现在,我认为变量tryk
是未定义的,可能是因为只要在确认对话框上单击任何按钮就立即返回请求,这就是您无法正确利用处理函数的原因。
在api文档中,他们给出了一个快速示例,如下所示:
// process the confirmation dialog result
function onConfirm(button) {
alert('You selected button ' + button);
}
// Show a custom confirmation dialog
//
function showConfirm() {
navigator.notification.confirm(
'You are the winner!', // message
onConfirm, // callback to invoke with index of button pressed
'Game Over', // title
'Restart,Exit' // buttonLabels
);
}
并且showConfirm()
方法可以从任何html元素触发,如下所示:
<a href="#" onclick="showConfirm(); return false;">Show Confirm</a>
所以我认为你应该坚持他们正式提供的实施。 我只是偶然发现了另一个SO问题 ,其中说PhoneGap确认实际上是异步回调。
尝试这个
<html>
<head>
<script>
function Fields1(){
var svar;
var tryk = confirm("Are you sure!");
if (tryk === true) {
svar = "You pressed OK!";
} else {
svar = "You pressed Cancel!";
}
alert(svar);
}
</script>
</head>
<body>
<button onclick='Fields1()'>Hai</button>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.