0
我想爲Windows 8製作一個測試應用程序,它有兩個輸入框和一個按鈕(讓我們稱之爲「計算」按鈕)。當用戶按下按鈕時,他會得到結果。他可以通過選擇想要在設置彈出窗口中使用哪些單位,以公制或英制單位輸入他的詳細信息。現在我想要做的是立即提交更改。當用戶選擇例如英制單位時,輸入框和結果自動變爲英制。現在,當我將公制單位從英制轉換到英制時,我必須再次按下「計算」按鈕才能看到英制結果。 我該怎麼做?立即提交設置Windows 8應用程序
下面是我的一些代碼。 在默認.js文件我創建了一個按鈕處理程序:
var test = document.getElementById("button");
test.addEventListener("click", doDemo, false);
在主js文件,所有的計算完成它看起來像這樣:
function doDemo(eventInfo) {
var applicationData = Windows.Storage.ApplicationData.current;
var roamingSettings = applicationData.roamingSettings;
if (roamingSettings.values["cmorft"] == 'imperial') {
var greetingString3 = "Imperial";
document.getElementById("units").innerText = greetingString3;
} else {
var greetingString4 = "metric";
document.getElementById("units").innerText = greetingString4;
}
我用下面的保存用戶的選擇:
var applicationData = Windows.Storage.ApplicationData.current;
var roamingSettings = applicationData.roamingSettings;
WinJS.UI.Pages.define("/html/settings.html", {
// This function is called whenever a user navigates to this page. It
// populates the page elements with the app's data.
ready: function (element, options) {
var imperialRadio = document.getElementById("imperial"),
metricRadio = document.getElementById("metric");
// Set settings to existing values
if (roamingSettings.values.size > 0) {
if (roamingSettings.values["cmorft"]) {
setMIValue();
}
}
// Wire up on change events for settings controls
imperialRadio.onchange = function() {
roamingSettings.values["cmorft"] = getMIValue();
};
metricRadio.onchange = function() {
roamingSettings.values["cmorft"] = getMIValue();
};
},
unload: function() {
// Respond to navigations away from this page.
},
updateLayout: function (element, viewState, lastViewState) {
// Respond to changes in viewState.
}