繁体   English   中英

Windows 8.1 Store App上的Javascript确认对话框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM