Textbox.value返回一个空字符串

时间:2011-04-27 02:57:19

标签: 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); 
  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]确实指向了正确的输入元素。

有人有任何想法吗?

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

2 个答案:

答案 0 :(得分:1)

prompt更改为其他内容是明智的,以防止与javascripts本地prompt函数混淆。此外,您的代码可以工作。见this jsfiddle

答案 1 :(得分:0)

promptDiv.innerHTML += '<br>';

这就是问题所在。如果有人知道为什么或如何打破代码我真的很想知道。评论这一行,解决了这个问题。

谢谢,

格雷格