使用Javascript限制最大表行数

使用Javascript限制最大表行数,javascript,html,Javascript,Html,我已经创建了一个表。每单击一个按钮,表中就会添加一个新行。现在我想限制可以创建的最大行数10。我想使用Javascript来实现这一点。谢谢你的帮助 这是我到目前为止的代码: <div id="div1" class="container input-group"> <input type="text" name="textbox1" id="textbox1" class="form-control" placeholder="Input Box" alig

我已经创建了一个表。每单击一个按钮,表中就会添加一个新行。现在我想限制可以创建的最大行数10。我想使用Javascript来实现这一点。谢谢你的帮助

这是我到目前为止的代码:

    <div id="div1" class="container input-group">

    <input type="text" name="textbox1" id="textbox1" class="form-control" placeholder="Input Box" align="center">
    <button class="btn btn-primary" name="btn1" id="btn1" onclick="myFunction()">Add</button>
    <input type="submit" name="sub1" id="sub1" class="btn btn-success">

    <table border="1" id="tb1" class="table table-bordered">
    <tr>
    <td>Sr. No.</td>
    <td>Value</td>
    <td id="td3">Action</td>
    </tr>
    </table>

    </div>


    <script type="text/javascript">
    function myFunction() {



    var table = document.getElementById("tb1");
    var text1 = document.getElementById("textbox1").value;
    var x = document.getElementById("tb1").rows.length;

    var row = table.insertRow();
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);

    cell2.innerHTML = text1;

    for (var i = 0; i < x; i++) {

    cell1.innerHTML = i;
    }

    cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';

    }

    </script>
现在我只想限制通过单击按钮可以创建的行数。

试试这个-

var-indx=0; 函数myFunction{ indx++; 如果indx试试这个-

var-indx=0; 函数myFunction{ indx++;
ifindx创建一个变量并在每次添加行时更新它,一旦变量达到10,停止添加新行

var countRow = 0; // variable to track the row count
function myFunction() {
if(countRow<=10){
var table = document.getElementById("tb1");
var text1 = document.getElementById("textbox1").value;
var x = document.getElementById("tb1").rows.length;

  var row = table.insertRow();
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);
  var cell3 = row.insertCell(2);

  cell2.innerHTML = text1;

  for (var i = 0; i < x; i++) {

    cell1.innerHTML = i;
  }

  cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';
}
countRow++; // increase variable by 1
 }

创建一个变量并在每次添加行时更新它,一旦变量达到10,停止添加新行

var countRow = 0; // variable to track the row count
function myFunction() {
if(countRow<=10){
var table = document.getElementById("tb1");
var text1 = document.getElementById("textbox1").value;
var x = document.getElementById("tb1").rows.length;

  var row = table.insertRow();
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);
  var cell3 = row.insertCell(2);

  cell2.innerHTML = text1;

  for (var i = 0; i < x; i++) {

    cell1.innerHTML = i;
  }

  cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';
}
countRow++; // increase variable by 1
 }

尝试添加一个要计数的变量。创建一个全局变量“count”,并在每次调用“myFunction”时递增它。在“myFunction”中使用if-else来控制或限制行

<input type="text" name="textbox1" id="textbox1" class="form-control" placeholder="Input Box" align="center">
<button class="btn btn-primary" name="btn1" id="btn1" onclick="myFunction()">Add</button>
<input type="submit" name="sub1" id="sub1" class="btn btn-success">

<table border="1" id="tb1" class="table table-bordered">
<tr>
<td>Sr. No.</td>
<td>Value</td>
<td id="td3">Action</td>
</tr>
</table>

</div>


<script type="text/javascript">
var count=0;
    function myFunction() {
count++;
if(count<11)
{


    var table = document.getElementById("tb1");
    var text1 = document.getElementById("textbox1").value;
    var x = document.getElementById("tb1").rows.length;

    var row = table.insertRow();
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);

    cell2.innerHTML = text1;

    for (var i = 0; i < x; i++) {

    cell1.innerHTML = i;
    }

    cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';

  }  }
 </script>

尝试添加一个要计数的变量。创建一个全局变量“count”,并在每次调用“myFunction”时递增它。在“myFunction”中使用if-else来控制或限制行

<input type="text" name="textbox1" id="textbox1" class="form-control" placeholder="Input Box" align="center">
<button class="btn btn-primary" name="btn1" id="btn1" onclick="myFunction()">Add</button>
<input type="submit" name="sub1" id="sub1" class="btn btn-success">

<table border="1" id="tb1" class="table table-bordered">
<tr>
<td>Sr. No.</td>
<td>Value</td>
<td id="td3">Action</td>
</tr>
</table>

</div>


<script type="text/javascript">
var count=0;
    function myFunction() {
count++;
if(count<11)
{


    var table = document.getElementById("tb1");
    var text1 = document.getElementById("textbox1").value;
    var x = document.getElementById("tb1").rows.length;

    var row = table.insertRow();
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);

    cell2.innerHTML = text1;

    for (var i = 0; i < x; i++) {

    cell1.innerHTML = i;
    }

    cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';

  }  }
 </script>

您已经使用这部分代码获得了行数:

var x = document.getElementById("tb1").rows.length;
所以只需检查x,看看该计数是否小于10,如果是,则添加另一行,如果不是,则返回,而不添加另一行

if(x > 9){
   return;
}
请注意,尽管从table元素访问rows.length时将返回所有行的数量,但这包括可能位于thead、tfoot和任何tbody中的行

因此,如果您最终想要确保thead、tfoot或某个tbody具有一定数量的行,那么您必须从该特定元素访问rows.length

//For thead
var num_rows = document.querySelector("#tb1").tHead.rows.length;
//For tbody, [0] swap 0 with the whichever tbody index you want to check
var num_rows = document.querySelector("#tb1").tBodies[0].rows.length;
//For tFoot
var num_rows = document.querySelector("#tb1").tFoot.rows.length;
演示

var mainBody=document.querySelectortb1.tBodies[0]; document.querySelectorbutton.addEventListenerclick,函数{ var num_rows=mainBody.rows.length; 如果num_rows>9,则返回; var row=mainBody.insertRow; row.insertCell0.textContent=row+num_rows+1; row.insertCell1.textContent=col2; row.insertCell2.textContent=col3; }; 一排 第2列 第3列
添加行您已经使用这部分代码获得了行数:

var x = document.getElementById("tb1").rows.length;
所以只需检查x,看看该计数是否小于10,如果是,则添加另一行,如果不是,则返回,而不添加另一行

if(x > 9){
   return;
}
请注意,尽管从table元素访问rows.length时将返回所有行的数量,但这包括可能位于thead、tfoot和任何tbody中的行

因此,如果您最终想要确保thead、tfoot或某个tbody具有一定数量的行,那么您必须从该特定元素访问rows.length

//For thead
var num_rows = document.querySelector("#tb1").tHead.rows.length;
//For tbody, [0] swap 0 with the whichever tbody index you want to check
var num_rows = document.querySelector("#tb1").tBodies[0].rows.length;
//For tFoot
var num_rows = document.querySelector("#tb1").tFoot.rows.length;
演示

var mainBody=document.querySelectortb1.tBodies[0]; document.querySelectorbutton.addEventListenerclick,函数{ var num_rows=mainBody.rows.length; 如果num_rows>9,则返回; var row=mainBody.insertRow; row.insertCell0.textContent=row+num_rows+1; row.insertCell1.textContent=col2; row.insertCell2.textContent=col3; }; 一排 第2列 第3列
添加行使用下面的函数

<script>

   var totalCount = 0;

   function myFunction() {

      if(totalCount >= 10)
      {
         alert("You can add only 10 records");
         return false;
      }
      else
      {
         totalCount++;
         //your function for Adding Data
         return true;
      }
    }

   //Also Manage your funDel() function if you want like below

   function funDel()
   {
      //Your code for deletion
      totalCount--;
   }
</script>

使用下面的函数

<script>

   var totalCount = 0;

   function myFunction() {

      if(totalCount >= 10)
      {
         alert("You can add only 10 records");
         return false;
      }
      else
      {
         totalCount++;
         //your function for Adding Data
         return true;
      }
    }

   //Also Manage your funDel() function if you want like below

   function funDel()
   {
      //Your code for deletion
      totalCount--;
   }
</script>

只需在脚本部分添加3行代码,其余的都一样

更新的脚本部分是:

var totalRows = 0;
function myFunction() {
if(totalRows <=  10){
var table = document.getElementById("tb1");
var text1 = document.getElementById("textbox1").value;
var x = document.getElementById("tb1").rows.length;

var row = table.insertRow();
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);

cell2.innerHTML = text1;

for (var i = 0; i < x; i++) {

cell1.innerHTML = i;
}

cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';

}
totalRows = totalRows + 1;
}

只需在脚本部分添加3行代码,其余的都一样

更新的脚本部分是:

var totalRows = 0;
function myFunction() {
if(totalRows <=  10){
var table = document.getElementById("tb1");
var text1 = document.getElementById("textbox1").value;
var x = document.getElementById("tb1").rows.length;

var row = table.insertRow();
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);

cell2.innerHTML = text1;

for (var i = 0; i < x; i++) {

cell1.innerHTML = i;
}

cell3.innerHTML = '<input type="button" class="btn" id="del1" name="del1" value="Delete" onclick="funDel(this)">';

}
totalRows = totalRows + 1;
}

哦,我认为只有投了赞成票的答案才是正确的:我已经投了你的答案,但我收到了以下通知:谢谢你的反馈!那些声誉低于15的人投的票会被记录下来,但不要改变公开显示的投票结果哦,我认为只有投了赞成票的答案是正确的:我投了你的答案,但我被拒绝了显示以下通知:感谢反馈!记录声誉低于15的人的投票,但不更改公开显示的帖子分数