Таблица отправки HTML зависит от флажка

У меня есть таблица с разбивкой на страницы, которая позволит конечным пользователям изменять встроенные данные в самой таблице.

Я использую кнопку отправки, которая перенаправляет и сохраняет ввод с помощью SSJS.

Моя таблица потенциально может иметь более 5000 записей, и таблица будет разбита на страницы.

Я хотел бы обновлять только те записи, для которых установлен флажок.

Я использую эту ссылку для тестирования 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 мы можем проверить, какие из них имеют значение checked, но я опасаюсь проблем с производительностью, когда в таблице находится более 5 000 записей.

Можно ли просто отправить только те записи, где установлен флажок? или есть скрытая логика?


person Tim Willis    schedule 23.10.2018    source источник
comment
Звучит похоже на этот вопрос: stackoverflow.com/questions/3008035 Они используют некоторые приемы (например, удаление поля JS или отключение поля JS) для удаления полей перед POST.   -  person tresf    schedule 23.10.2018
comment
Также немного взломан, но стирание поля name, похоже, тоже помогает... /3196753.   -  person tresf    schedule 23.10.2018


Ответы (1)


Если вы хотите, чтобы форма отправлялась только при установленном флажке, вы можете добавить прослушиватель событий для события «отправить» и предотвратить использование по умолчанию, если флажок не установлен, например:

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

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

Таким образом, форма будет отправлена ​​только в том случае, если флажок установлен.

Этот вопрос выглядит так, как будто он был рассмотрен здесь Отправлять только непустые входные данные

person Brandon Carr    schedule 23.10.2018
comment
Конечно, но это все равно представит все записи. Я пытаюсь отправлять только те записи, где установлен флажок - person Tim Willis; 23.10.2018
comment
Я обновил свой ответ ссылкой на такой вопрос, на который, похоже, был дан ответ. - person Brandon Carr; 23.10.2018