Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript winjs:在显示页面时自动显示意外字符串?_Javascript_Windows Store Apps_Winjs - Fatal编程技术网

Javascript winjs:在显示页面时自动显示意外字符串?

Javascript winjs:在显示页面时自动显示意外字符串?,javascript,windows-store-apps,winjs,Javascript,Windows Store Apps,Winjs,下面的代码一切正常。但是,如果我按照下面的代码运行,在显示输出时,[object object]会自动显示。我不知道为什么 function buttonClick() { var getFile = parseInt(document.getElementById("number").value); if (getFile < 455 && getFile > 0) { var content = document.getElementById("def-

下面的代码一切正常。但是,如果我按照下面的代码运行,在显示输出时,
[object object]
会自动显示。我不知道为什么

function buttonClick() 
{
var getFile = parseInt(document.getElementById("number").value);
if (getFile < 455 && getFile > 0)
{
    var content = document.getElementById("def-content");
    var output = new WinJS.UI.HtmlControl(content, { uri: '/def/f' + getFile + '.html' });
    content.innerText = output;
 }
 else
 {
 var fails = new Windows.UI.Popups.MessageDialog("Expected Input Range: 1 to 454");
 fails.showAsync();
  }
  }
功能按钮单击()
{
var getFile=parseInt(document.getElementById(“number”).value);
if(getFile<455&&getFile>0)
{
var content=document.getElementById(“def content”);
var output=new WinJS.UI.HtmlControl(内容,{uri:'/def/f'+getFile+'.html'});
content.innerText=输出;
}
其他的
{
var fails=new Windows.UI.Popups.MessageDialog(“预期输入范围:1到454”);
失败。showAsync();
}
}

这是显而易见的,因为您正在将对象的实例分配给该内容div。因此,它正在对该实例调用
toString()
方法<代码>var输出不是
字符串

而不是
content.innerText=输出

使用


WinJS.UI.processAll()

您尚未将内容保存在var
输出中。这肯定会奏效

function buttonClick() 
{
var getFile = parseInt(document.getElementById("number").value);
if (getFile < 455 && getFile > 0)
{
    var content = document.getElementById("def-content");
    var output = new WinJS.UI.HtmlControl(content, { uri: '/def/f' + getFile + '.html' });
    content.innerText = "";        
 }
 else
 {
 var fails = new Windows.UI.Popups.MessageDialog("Expected Input Range: 1 to 454");
 fails.showAsync();
  }
  }
功能按钮单击()
{
var getFile=parseInt(document.getElementById(“number”).value);
if(getFile<455&&getFile>0)
{
var content=document.getElementById(“def content”);
var output=new WinJS.UI.HtmlControl(内容,{uri:'/def/f'+getFile+'.html'});
content.innerText=“”;
}
其他的
{
var fails=new Windows.UI.Popups.MessageDialog(“预期输入范围:1到454”);
失败。showAsync();
}
}

如果我使用此选项,则如果文本框中给出了其他数字,则内容不会更改。它显示在第一个内容下面。如果我把WinJS.UI.processAll()放进去,让我详细解释一下;而是content.innerText=输出;根据我的代码,我有一个文本框来获得用户的输入,如果输入3,它将显示f3.html,同样,它将显示html页面。使用WinJS.UI.processAll()时,如果按3,则显示f3.html。然后,如果用户输入4,f4.html将显示在f3.html下。f3.html不隐藏。然后用户输入6,f6.html显示在f3.html和f4.html下。但是,虽然使用innertext,但它在中显示单个页面。但显示[对象对象]——