Как исправить «Форма не отправляется» в PHP - PullRequest
0 голосов
/ 27 апреля 2019

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

У меня есть рабочий код для формы, пока я не добавил часть, основанную на ajax, для заполнения элемента select, что мне делать, чтобырешить эту проблему?

<form action="" id="treeview_form" class="wpcf7-form" method="post" enctype="multipart/form-data">
    <fieldset>
        <legend>Register Agency</legend>

        <div class="col-one-fourth">
            <label>Select Parent Agency</label>
            <select name="parent_category" id="parent_category">
            </select>  
        </div>

        <div class="col-one-fourth">
            <label> Agency Name</label>
            <input type="text" id="agencyName" name="agencyName" <?php if (isset($agencyName)) { echo 'value="' . htmlentities($agencyName, ENT_COMPAT, 'UTF-8') . '"'; } ?>>
        </div>

        <div class="clearfix"></div>

        <div class="text-right">
            <div class="divider-single"></div>
            <input type="hidden" name="action" value="newAgency" />
            <button class="btn btn-primary btn-big">Register</button>
        </div>  

    </fieldset>
</form>

<script>
$(document).ready(function(){
    fill_parent_category();
    fill_treeview();

    function fill_treeview()
    {
        $.ajax({
            url:"fetch.php",
            dataType:"json",
            success:function(data){
                $('#treeview').treeview({
                    data:data
                });
            }
        })
    }

    function fill_parent_category()
    {
        $.ajax({
            url:'fill_parent_category.php',
            success:function(data){
                $('#parent_category').html(data);
            }
        });
    }
});
</script>

fill_parent_category.php

<?php
include 'database_connection.php';

$query = "SELECT * FROM agencies ORDER BY id ASC";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();

$output = '<option value="0">Parent Category</option>';

foreach ($result as $row) {
    $output .= '<option value="'.$row["id"].'">'.$row["agencyName"].'</option>';
}

echo $output;

fetch.php

<?php
include 'database_connection.php';

$parentId = 0;

$query = "SELECT id, parentId, agencyName FROM agencies";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();

foreach ($result as $row) {
    $data = get_node_data($parentId, $connect);
}

echo json_encode(array_values($data));

function get_node_data($parentId, $connect) {
    $query = "SELECT id, parentId, agencyName FROM agencies WHERE parentId = '".$parentId."'";

    $statement = $connect->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll();
    $output = array();
    foreach ($result as $row) {
        $sub_array = array();
        $sub_array['text'] = $row['agencyName'];
        $sub_array['nodes'] = array_values(get_node_data($row['id'], $connect));
        $output[] = $sub_array;
    }
    return $output;
}

Iожидал, что форма будет опубликована и отправлена ​​в базу данных, но после нажатия кнопки отправки форма, похоже, обрабатывается, но возвращает тот же заполненный интерфейс без отправки значений формы.

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