消息对话框用户选择Metro应用程序 - JavaScript

时间:2013-06-05 22:14:59

标签: javascript

每次用户启动应用程序时,应用程序都会要求用户选择“First”或“Second”。 如果用户选择“First”,则显示消息“TEST 1”,或者如果用户选择“Second”,则消息为“TEST 2”。

无论我选择什么,消息总是“TEST 1”。

我的代码出了什么问题?

我怎样才能让它发挥作用?

var msg = new Windows.UI.Popups.MessageDialog("Choose first or second.", "Test");

// Add commands and set their command handlers
msg.commands.append(new Windows.UI.Popups.UICommand("First", commandInvokedHandler));

msg.commands.append(new Windows.UI.Popups.UICommand("Second", commandInvokedHandler));

// Set the command that will be invoked by default
msg.defaultCommandIndex = 1;

// Set the command to be invoked when escape is pressed
msg.cancelCommandIndex = 1;

// Show the message dialog
msg.showAsync();

if (msg = 1) {
  // First Choice
  var button = document.getElementById("button");
  applyButton.addEventListener("click", buttonFirst, false);
} else {
  // Second Choice
  var button = document.getElementById("button");
  applyButton.addEventListener("click", buttonSecond, false);
}

function buttonFirst(eventInfo) {
  var greetingString = "TEST 1";
  document.getElementById("first").innerText = greetingString;
}

function buttonSecond(eventInfo) {
  var greetingString = "TEST 2";
  document.getElementById("second").innerText = greetingString;
}

1 个答案:

答案 0 :(得分:0)

if(msg = 1) {应为if(msg == 1) {,否则您将其设置为1,然后进行检查。

编辑:

仔细观察,这里有更大的问题。为什么要单独添加eventListeners? The spec for the UICommand class表示第二个参数是回调。因此,与您创建按钮的方式不同,为什么不这样做:

msg.commands.append(new Windows.UI.Popups.UICommand("First", buttonFirst));

msg.commands.append(new Windows.UI.Popups.UICommand("Second", buttonSecond));