2016-03-29 4 views
0

Я хочу создать букмарклет с помощью javascript, который может извлекать максимальную длину всего текстового поля на странице и затем распечатайте таблицу под страницей со всеми указанными идентификаторами и максимальной длиной.Создайте букмарклет, который может получить всю максимальную длину текстового поля, а затем напечатать идентификатор и максимальную длину в таблице

Вот мой код, однако он ничего не печатал.

javascript: (function() { 
    var body =document.getElementsByTagName('body')[0]; 
    var tbl = document.createElement('table'); 
    var tbdy = document.createElement('tbody'); 
    var D = document, 
     i, f, j, e; 
    for (i = 0; f = D.forms[i]; ++i) 
     for (j = 0; e = f[j]; ++j) 
      if (e.type == "text") S(e); 
    function S(e) { 

      var l= document.getElementById(e.id); 
      var x = document.getElementById(e.maxlength); 
      var tr=document.createElement('tr'); 
      var td1=document.createElement('td'); 
      var td2=document.createElement('td'); 
      td1.appendChild(document.createTextNode(l)); 
      td2.appendChild(document.createTextNode(x)); 
      tr.appendChild(td1); 
      tr.appendChild(td2); 
      tbdy.appendChild(tr); 

    } 
    tbl.appendChild(tbdy); 
    body.appendChild(tbl); 
}) 

ответ

0

Это действительно может быть сделано намного проще, чем у вас есть.

Работа jsfiddle: https://jsfiddle.net/cecu3daf/

Вы хотите, чтобы захватить все входы и запустить цикл над ними. Из этого можно динамически создать таблицу и добавить его в конец document.body

var inputs = document.getElementsByTagName("input"); //get all inputs 
var appTable = document.createElement("table"); //create a table 
var header = appTable.createTHead(); //create the thead for appending rows 
for (var i=0; i<inputs.length; i++) { //run a loop over the input elements 
    var row = header.insertRow(0); //insert a row to the table 
    var cell = row.insertCell(0); //insert a cell into the row 
    cell.innerHTML = inputs[i].maxLength; //input data into the cell 
    var cell = row.insertCell(0); 
    cell.innerHTML = inputs[i].id; 
} 
document.body.appendChild(appTable); //append the table to the document 

Чтобы сделать закладку, просто поместите javascript: перед рукой. Нет необходимости включать его в функцию. Вы можете, если хотите.

+0

Thx. Это решает мою проблему. –

+0

@JojoYeah, если это решит ваш вопрос, не могли бы вы отметить его как ответ? Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^