Klapsius Klapsius - 2 months ago 6
HTML Question

PHP - HTML best practices to handle (submit) generated rows

I have

html
table generated via ajax. And last column on this table contains button. My question is what is the best practice to submit these rows (only one at time. I need use this method to amend records).
Is it worth to wrap each row with

<form>
<input type="hidden" value="hidden value">
<input type="submit">
</form>


Or people using something difference? Reason why i'm asking for is because i'm worry about very long list example
1k
rows or
10k
rows (that means i will have
1k
or
10k
forms on a page).

Answer

You can use the following

<table id="YourTableId">
    ...
   <tr data-id="yourrowId">
        <td class="col1"> value1</td>
        <td class="col2"> value2</td>
        <td class="col3"> value3</td>
        <td class="actions">
             <a href="#"> Submit</a>
        </td>
   </tr>
   ....
</table>

your javascript code will be like

$(document).ready(function (){
     $('#YourTableId a').off('click').on('click',function(e){
          e.preventDefault();
          var tr = $(this).closest('tr')
          var data={ // here you can add as much as you want from variables
            'id' : tr.data('id), // if you want to send id value
            'col1': tr.find('.col1').text(),
            'col2': tr.find('.col2').text(),
            'col3': tr.find('.col3').text(),
          };

          $.ajax({
              method: 'post',
              url: 'your url goes here',
              data: data,
              success: function(result){
                  // handle the result here
              }
          });
     });
});

Hope this will help you

Comments