Поле ввода не "забудет" первое значение, которое получает Firefox 20.0

У меня проблема с полем ввода, не забывая первый ввод, который он получает. Затем он возвращает его обратно, даже если содержимое должно было быть перезаписано новым вводом. Код, который я использую, прекрасно работает с IE8, проблема видна с Firefox 20.0.

Я работаю полностью в Javascript. Нет HTML вне тела.

Я использую это для настройки моего поля ввода:

addElementWithIdButNoNode("input","manimp","div42"); // add input box
addElementWithNodeAndId("button","Set","div42","setButton"); //add "set" button
document.getElementById("setButton").onclick=showIt;

"manimp" - это идентификатор, и ниже успешно фиксируется то, что вводится впервые как "theMainVar".

function showIt()
  {
  theMainVar=manimp.value;
  theMainVar=parseFloat(theMainVar);
  alert(theMainVar);
  }

Проблема в том, что если вы запустите это снова в Firefox, вы можете ввести любое значение, которое вам нравится, но предупреждение вернется с тем, что вы ввели в первый раз.

Вы можете вручную отправить "manimp.value" во что-то еще в javascript, и оно действительно изменится, но затем останется в этом измененном значении.

Мне нужно "сбросить manimp, чтобы он мог принять новое значение из функции поля ввода"

Я осмотрелся и обнаружил множество функций reset() и clear(), но у меня ничего не работает.

То же самое происходит, если я меняю поле ввода для выпадающего списка.

Я новичок в Javascript, поэтому, если исправление кажется очевидным для вас, возможно, это так!

1 ответ

Попробуйте получить элемент 'manimp' внутри вашей функции, возможно, на значение ссылается, когда функция объявлена. Итак, внутри вашей функции использования

theMainVar = document.getElementById('manimp').value;

Другие вопросы по тегам