开发者

Textbox.value is returning an empty string

I've run into a problem here. I have a text box that is only returning an empty string.

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); 
  promp开发者_开发问答t.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);
}

So, in the second function myFields[i].value returns an empty string. Although myFields[i] does point to the correct input element.

Anyone got any ideas?

This is the only code that touches the textbox, and I type in the value using my keyboard.


It's sensible to change prompt to something else, to prevent confusion with javascripts native prompt function. Furthermore it looks like your code can work. See this jsfiddle


promptDiv.innerHTML += '<br>';

This was the problem line. If anyone knows why or how this was breaking the code I would REALLY like to know. Commenting out this single line, fixes the problem.

Thanks,

Greg

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜