0

我有一个分页表,允许最终用户在表本身中修改内联。

我正在使用一个提交按钮,该按钮使用 SSJS 重定向和保存输入。

我的表可能有 5k+ 条记录,并且该表将被分页。

我只想更新具有选中复选框的记录。

我正在使用此链接来测试 https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit

使用此代码:

 <!DOCTYPE html>
    <html>
    <body>
    
    <h2>HTML Forms</h2>
    
    <form action="/action_page.php">
    
    <table>
    <tr>
    <td>
    Check for save
    </td>
      <td>
      First name
      </td>
      <td>
    Last Name  
      </td>
      </tr>
    
      <tr>
      <td>
        <input type="checkbox" id="horns" name="feature" value="horns" />
      </td>
      <td>
      <input type="text" name="firstname" value="Mic1key">
      </td>
      <td>
      <input type="text" name="lastname" value="Mouse">
      </td>
    </tr>
      <tr>
      <td>
      <input type="checkbox" id="horns" name="feature" value="horns" />
      </td>
      <td>
      <input type="text" name="firstname" value="Mic1key">
      </td>
      <td>
      <input type="text" name="lastname" value="Mouse">
      </td>
    </tr>
      </table>
      <input type="submit" value="Submit">
    </form> 
    </body>
    </html>

所以这是可行的,因为在 SSJS 中,我们可以检查哪些具有已检查的值,但是一旦表中有 5k+ 条记录,我就会担心性能问题。

无论如何只提交选中复选框的记录?还是有什么不可告人的逻辑?

4

1 回答 1

0

如果您只想在选中复选框时提交表单,则可以为“提交”事件添加一个事件侦听器,并在未选中复选框时阻止默认设置,如下所示:

let submitButton = document.getElementById('mySubmitBtn');
let checkbox = document.getElementById('myCheckbox');

submitButton.addEventListener('submit', function(e){
    if(!checkbox.checked){
        e.preventDefault();
    }
});

这样,只有在选中复选框时,表单才会提交。

这个问题看起来像是在此处解决了仅提交非空输入

于 2018-10-23T20:01:18.780 回答