Как работать с постом php, когда я не знаю все переменные, чтобы захватить

jd0117 спросил: 13 октября 2017 в 06:08 в: javascript

У меня есть форма, в которой пользователь может добавить дополнительные строки (используя javaScript), но когда я нажимаю кнопку сохранения, как мне получить новые данные для назначения переменной?

Что происходит сейчас: Пользователь добавляет новые строки, нажимает кнопку сохранения, и строки исчезают со страницы вместе с данными.

Вот мой HTML-код:

    <table id="desc_table" class="form">
      <tbody id="desc_tbody">
        <tr id="headings">
          <td><font><h3>Description</h3></font></td>
          <td><font><h3>Hours</h3></font></td>
          <td><font><h3>Rate</h3></font></td>
          <td><font><h3>Amount</h3></font></td>
          <td></td>                          
        </tr>        <tr>
          <td><input name="desc1" type="text" value="<?php echo $desc1; ?>"></td> 
          <td> <input name="desc_hr1" type="text" value="<?php echo $desc_hr1; ?>"></td>
          <td> <input name="desc_rt1" type="text" value="<?php echo $desc_rt1; ?>"></td>
          <td><input name="desc_amt1" type="text" value="<?php echo $desc_amt1; ?>"></td>          <td><input type="button" value="X" name="delete" class="btnDelete" onclick="deleteLine(this)"></td>
        </tr>
        <tr>
          <td><input name="desc2" type="text" value="<?php echo $desc2; ?>"></td> 
          <td> <input name="desc_hr2" type="text" value="<?php echo $desc_hr2; ?>"></td>
          <td> <input name="desc_rt2" type="text" value="<?php echo $desc_rt2; ?>"></td>
          <td><input name="desc_amt2" type="text" value="<?php echo $desc_amt2; ?>"></td>
          <td><input type="button" value="X" name="delete" class="btnDelete" onclick="deleteLine(this)"></td>
        </tr>
        <tr>
          <td><input name="desc3" type="text" value="<?php echo $desc3; ?>"></td>
          <td> <input name="desc_hr3" type="text" value="<?php echo $desc_hr3; ?>"></td>
          <td> <input name="desc_rt3" type="text" value="<?php echo $desc_rt3; ?>"></td>
          <td><input name="desc_amt3" type="text" value="<?php echo $desc_amt3; ?>"></td>
          <td><input type="button" value="X" name="delete" class="btnDelete" onclick="deleteLine(this)"></td>
        </tr>                         
        </tbody>
   </table>    <div>
        <center><input type="button" value="Add New Line" id="add_btn" name="add_btn" onclick="newLine()"></center>
    </div>  

JavaScript:

function newLine(){//get the total amount of rows in the table
var $rowcount = $('#desc_table tr').length;//add the row number to the field name to make it unique
var $desc = "desc" + $rowcount;
var $desc_hr = "desc_hr" + $rowcount;
var $desc_rt = "desc_rt" + $rowcount;
var $desc_amt = "desc_amt" + $rowcount;//create new row data
var $newRowData = '<tr><td><input name=' + $desc + ' type=text></td><td><input name=' + $desc_hr + ' type=text></td><td><input name=' + $desc_rt + ' type=text></td><td><input name=' +$desc_amt+ ' type=text></td><td><input type="button" value="X" name="delete" class="btnDelete" onclick="deleteLine(this)"></td></tr>';//append new row to bottom of the table
$($newRowData).appendTo($("#desc_table tbody"));

}

Объявление переменной PHP:

...

if (!empty($_POST['desc1'])){
    $desc1 = $_POST['desc1'];
}
else{
    $desc1 = NULL;
}
if (!empty($_POST['desc_hr1'])){
    $desc_hr1 = $_POST['desc_hr1'];
}
else{
    $desc_hr1 = NULL;
}
if (!empty($_POST['desc_rt1'])){
    $desc_rt1 = $_POST['desc_rt1'];
}
else{
    $desc_rt1 = NULL;
}
if (!empty($_POST['desc_amt1'])){
    $desc_amt1 = $_POST['desc_amt1'];
}
else{
    $desc_amt1 = NULL;
}
if (!empty($_POST['desc2'])){
    $desc2 = $_POST['desc2'];
}
else{
    $desc2 = NULL;
}
if (!empty($_POST['desc_hr2'])){
    $desc_hr2 = $_POST['desc_hr2'];
}

.. .

Когда переменные страницы записываются с помощью POST, как мне найти новые строковые переменные, чтобы объявить их и захватить данные?

0 ответов