如何让用户设置HTML中的表格大小?

时间:2019-02-17 20:41:18

标签: javascript html

我希望用户输入HTML表中的行数,我该怎么做?这是停止的地方。

var x = prompt("how many rows?");
for ( var count=1)
document.writeln(<tr>)
count++;
{
if (count==x)
break;
}

2 个答案:

答案 0 :(得分:3)

您的代码不完整,而且一团糟。您写的声明中没有大括号和您放置的大括号,而是在假定位置之后。

如果要在文档中创建行,至少需要首先创建html表。 (您也可以使用JavaScript来做到这一点)

<table>
  <tbody>

  </tbody>
</table>

然后,您可以移至JS部分,要求用户输入。

这是一个完整的例子。

var x = prompt("how many rows?");
let count = 1;
let table = document.querySelector("table");


for (count = 1; count <= x; count++) {

	// insert a row
  var row = table.insertRow(0);

	// create two cell
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);

	// default text if you want
  cell1.innerHTML = "Cell 1"
  cell2.innerHTML = "Cell 2";
  
}
<table>
  <tbody>

  </tbody>
</table>

答案 1 :(得分:1)

您可以执行以下简单操作:

const inputEl = document.querySelector('#input-el');
const buttonEl = document.querySelector('#button-el');
const divEl = document.querySelector('#table-display');

buttonEl.addEventListener('click', e => {
  const rowQty = inputEl.value;
  let html = `<table id="tableEl-${rowQty}" border="1">`;
  for (let i = 0; i < rowQty; i++) {
    html += `<tr><td>${i+1}</td><td>Row ${i + 1}</td></tr>`;
  }
  html += `</table>`;
  divEl.innerHTML = html;
});
<label id="label-el" for="input-el">Number of rows</label>
<input id="input-el" type="text" />
<input id="button-el" type="button" value="Create table" />
<div id="table-display"></div>