Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 Textbox.value正在返回一个空字符串_Javascript_Html - Fatal编程技术网

Javascript Textbox.value正在返回一个空字符串

Javascript Textbox.value正在返回一个空字符串,javascript,html,Javascript,Html,我遇到了一个问题。我有一个只返回空字符串的文本框 var myFields = []; for(var i = 0; i < fields.length; i++){ var newField = document.createElement('input'); newField.type = 'text'; prompt.innerHTML += fields[i] + ': '; prompt.appendChild(newField); p

我遇到了一个问题。我有一个只返回空字符串的文本框

var myFields = []; 

for(var i = 0; i < fields.length; i++){ 
  var newField = document.createElement('input'); 
      newField.type = 'text'; 

  prompt.innerHTML += fields[i] + ': '; 
  prompt.appendChild(newField); 
  prompt.innerHTML += '<br>'; 

  myFields.push(newField); 
}

var finishPrompt_Action = function(){
  var results = {}
  for(var i = 0; i < myFields.length; i++){
    console.log(fields[i], myFields[i], myFields[i].value);
    results[fields[i]] = myFields[i].value;
  }

  container.removeChild(shield);
  container.removeChild(prompt);

  callback(results);
}
var myFields=[];
对于(var i=0;i
因此,在第二个函数myFields[i]中,value返回一个空字符串。 尽管myFields[i]确实指向正确的输入元素

有人有什么想法吗


这是唯一接触文本框的代码,我使用键盘输入值。

提示符
更改为其他内容是明智的,以防止与javascripts原生
提示符
功能混淆。此外,看起来您的代码可以工作。请参见

promptDiv.innerHTML+='
';
这就是问题所在。如果有人知道这是为什么或如何破坏代码,我真的很想知道。注释掉这一行,修复了问题

谢谢


Greg

如何调用
finishPrompt_Action
呢?为此,我要求您执行
console.log(typeof myFields[I])这是IE中的错误吗?它在FireFox中工作正常吗?可能是innerHTML问题…同上。回想起来,
console.log(myFields.length)更好。通过单击按钮调用finishPrompt。MyFields[i]的类型是预期的对象。myFields.length=1,如id所期望的。Console.log(myFields[i])是,我已将变量名更改为不使用关键字,但这并没有解决我的问题。js fiddle对我没有任何帮助。fiddle向您显示
myFields
Prompt
的内容,因此它向您显示这些变量已分配且正在工作。剩下的问题你得自己解决。@Kooilnc很抱歉,这个问题并没有一直存在于你的JSFIDLE中,因为你在不知情的情况下修复了它。
promptDiv.innerHTML += '<br>';