букмарклет — цикл заполнения (поля ввода) создает страницу с нежелательными изменениями

#javascript #loops #input #fill

#javascript #циклы #ввод #заполнить

Вопрос:

Итак, это мой код, это очень простой пример цикла, который заполнит поля ввода соответствующими значениями массива

 var aList=document.getElementsByTagName('input');
for(var i = 0, len = aList.length; i < len;   i){ 
document.getElementById(aList[i].id).value=I[i][1][0][0];}
  

введите описание изображения здесь

Когда я запускаю этот код из букмарклета, он просто изменит тело веб-сайта на

 <body>OCENIE</body>
  

Что не так с кодом? Он не выходит за пределы размера массива, если я запущу это из консоли firebug (или другого инструмента разработки), он работает как на экране, все значения заполняются, но с помощью букмарклета создается новая страница…

Ответ №1:

Хорошо, я сделал это, кажется (я не программист js!), Что этот код равен чему-то вроде:

 javascript: I[lastValueOf_i][1][0][0];
  

На практике это было бы

 javascript: "OCENIE"
  

который откроет новую страницу с контентом:

 <body>OCENIE</body>
  

Все, что мне нужно было сделать, это поместить код в пустую (невозвращающую) функцию

 fillInputs();

function fillInputs()
{
    var NList = document.getElementsByTagName('input');
    for (var i=0; i<NList.length; i  ) { NList[i].value = I[i][1][0][0]; }
}
  

Случай решен 🙂