如何在for循环中的php编辑表单的隐藏字段中分配唯一值

时间:2019-05-20 18:48:24

标签: javascript php ajax forms hidden-field

我正在编辑表单,该表单基于数据库的titleId字段。单击更新按钮后,它将重定向到javascript函数。

页面上有一个标题列表,单击任何一个标题后,您便会进入一个可编辑的表单,您可以在其中编辑数据并进行更新。该页面显示在选择用户希望查看的标题类型时。 这是代码:

编辑表单:

 <div class="panel-group" id="facultyAccordion">
        <?php      
        for ($i = 0; $i < count($getAll); $i++) {         
        echo <<<HTML
            <div class="panel panel-default">
                <div class="panel-heading"><h4 class="panel-title">
                    <a data-toggle="collapse" data- 
       parent="#facultyAccordion" href="#collapseF{$i}">{$getAll[$i]['title']} 
   </a></h4>
                 </div>
                <div id="collapseF{$i}" class="panel-collapse collapse">
                    <div class="panel-body">
                       <form id="editTitle" method="post">
                          <div class="table-responsive">
                            <div class="form-group">
                    <label for="desc">Title:</label>
                    <input type="text" class="form-control" id="editadminTitle" name="title" value="{$getAll[$i]['title']}">
                             </div>

                            <div class="form-group">
                    <label for="desc">Units:</label>
                    <input type="text" class="form-control" id="editadminUnits" name="units" value="{$getAll[$i]['units']}">
                            </div>

                           <div class="form-group">
                    <label for="desc">Category:</label>
                    <input type="text" class="form-control" id="editadminCategory" name="category" value="{$getAll[$i]['category']}">
                          </div>                           
                       <input type="hidden" id="editTitleId" name="titleId" value="{$getAll[$i]['titleId']}"> 
                            <input type="hidden" id="editTypeId" name="typeId" value="$typeId">     
                        </div>
                       </form>     

                         <button type="Submit" class="btn btn-warning btn-sm" onclick="editTitleModalSubmit('{$getAll[$i]['titleId']}')"> Update</button>                     
   </div>
             </div>  
            </div>
HTML;
   }
   ?>
   </div>

main.js

function editTitleModalSubmit(titleId) {
 console.log("1");
   event.preventDefault();
$.ajax({
    url: 'functions/administration-functions.php',
    type: 'POST',
    data: {"title": $('#editadminTitle').val(), "units": 
$('#editadminUnits').val(), "category": $('#editadminCategory').val(), "titleId": $('#editTitleId').val(), "typeId": $('#editTypeId').val(), "switch":"edit"},
    dataType: "json",
    success: function () {
        $('#adminForm').trigger('reset');
        resultAlert('#adminResult', '#resultAdminContent', '<strong>You data was succefully saved!</strong>', 'alert-success');
    }, error: function (error) {
        console.log(error);
    }
});
 }

我只想在将唯一ID分配给隐藏字段-在Edit表单中的titleId以及如何在main.js文件中调用相同ID方面提供帮助。

1 个答案:

答案 0 :(得分:0)

因此,在您的PHP中,您当前正在使用以下代码:

<input type="hidden" id="editTitleId" name="titleId" value="{$getAll[$i]['titleId']}">

如果不需要此值,可以将其更改为随机生成的数字:

$randTitleId = rand(1000, 9999);

...

<input type="hidden" id="editTitleId" name="titleId" value="{$randTitleId}"> `

然后,使用jQuery,您可以通过引用name字段的idinput属性来获取此ID:

var randTitleId = $('#editTitleId').val();

然后您可以在AJAX调用中使用变量randTitleId

我担心这可能是个简单的答案... :)所以,如果我错过了一些事情,请发表评论,我会进行修改。