Как назначить уникальное значение в скрытых полях формы редактирования php в цикле for - PullRequest
0 голосов
/ 20 мая 2019

Я работаю над формой редактирования, которая основана на поле 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);
    }
});
 }

Я просто хочу помочь с назначением уникальных идентификаторов для скрытого поля - titleId вОтредактируйте форму и как ее вызвать в файле main.js.

1 Ответ

0 голосов
/ 20 мая 2019

Итак, в вашем 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 или id поля input:

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

Youзатем можно использовать переменную randTitleId в вашем вызове AJAX.

Боюсь, это может быть слишком простым ответом ... :) Так что, если я что-то пропустил, пожалуйста, оставьте комментарий, и я 'Я исправлю.

...