Несколько AJAX форм на одной странице? - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь создать несколько AJAX отправленных форм на одной странице php. Я могу заставить его работать с одним, но когда я добавляю больше, он просто использует все время первую форму. Я пытался сделать его уникальным, но не уверен, как именно это сделать.

Мой код приведен ниже, если кто-то может помочь, это будет фантастически c. Я просматривал похожие вопросы и ответы на этом сайте, но не могу понять, как заставить его работать на моем.

Форма должна отправляться, когда флажок установлен или снят. Большое спасибо за вашу помощь.

Martyn.

HTML форма

<form id="search_form" method="post">
    <input readonly type="text" name="id" value=<?php echo $row1[0];?>>
    <input readonly type="text" name="student" value=<?php echo $row1[1];?>>
    <input readonly type="text" name="addedby" value=<?php echo $_SESSION['username'];?>>
    <input readonly type="text" name="register" value="monday_morning">
    <input <?php if($row1[4] == "Yes"){echo "checked";}?> type="checkbox" name="box" value="Yes">
</form>

Сценарий

<script type="text/javascript">
    $(document).on("change", '[type="checkbox"]', function () {
        var url = "/register_update.php";
        $.ajax({
            dataType: "html",
            type: "POST",
            url: url,
            data: $("#search_form").serialize(),
            success: function (data) {
            }
        });
        return false;
    });
</script>

1 Ответ

2 голосов
/ 09 февраля 2020

Попробуйте это

<script type="text/javascript">
    $(document).on("change", '[type="checkbox"]', function (event) {
        var url = "/register_update.php";
        $.ajax({
            dataType: "html",
            type: "POST",
            url: url,
            data: $($(event.target).parent()).serialize(),
            success: function (data) {
            }
        });
        return false;
    });
</script>

event.target возвращает установленный флажок. Функция parent() возвращает форму, которую нужно отправить. Таким образом, вам не нужно иметь уникальный идентификатор формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...