我在这里遇到了一个问题。我有一个只返回空字符串的文本框。
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);
}
因此,在第二个函数中,myFields [i] .value返回一个空字符串。 虽然myFields [i]确实指向了正确的输入元素。
有人有任何想法吗?
这是唯一触及文本框的代码,我使用键盘输入值。
答案 0 :(得分:1)
将prompt
更改为其他内容是明智的,以防止与javascripts本地prompt
函数混淆。此外,您的代码可以工作。见this jsfiddle
答案 1 :(得分:0)
promptDiv.innerHTML += '<br>';
这就是问题所在。如果有人知道为什么或如何打破代码我真的很想知道。评论这一行,解决了这个问题。
谢谢,
格雷格