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.push(newField);
}
var finishPrompt_Action=函数(){
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>';