Как получить выбранное значение из HTML и обработать его в js или php? - PullRequest
1 голос
/ 30 апреля 2020

Я создал массив событий, и теперь у меня есть фильтр по расположению. Как получить значение, выбранное в раскрывающемся списке, и обработать его в js или php? Какой из них будет лучше, чтобы он отображал события из этого места, а не все события. У меня есть разные файлы, один для отображения событий (events. js и events. php), а другие файлы (filterevents. js и filter events. php). Это то, что я хочу обработать при фильтрации. дюймы

HTML

         <div class="events">

             <form method="POST" id="eventForm"> 
                 Filter By Location<br/>
                <select name="Locations">
                    <option value="Leeds">Leeds</option>
                    <option value="Newcastle">Newcastle</option>
                    <option value="London">London</option>
                </select>
                 <input type="submit" name="submit" value="Search"/>
             </form>

                    <div class="eventname"><!--obj.eventname--></div>
                    <div class="date"><!--obj.date--></div>
                    <div class="time"><!--obj.time--></div>
                    <div class="location"><!--obj.location--></div>

                <p id="error" class="errormessage"></p>
                <p id="allevents" class="postmessage"></p>
        </div>

события. php

<?php

require_once('checklog.php');
require_once("db_connect.php");
require_once("functions.php");

session_start();

// Print out existing events
$query = "SELECT eventname, date, time, location FROM events ORDER BY eventname";
$result = mysqli_query($db_server, $query);
if (!$result)
    die("Database access failed: " . mysqli_error($db_server));
while ($row = mysqli_fetch_array($result)) {

    $events[] = $row; 

}

mysqli_free_result($result);

require_once("db_close.php");

echo json_encode($events);

?>

события. js

$(document).ready(function() {

     var events = document.getElementById("allevents").value; 

        // Call Ajax for existing comments
        $.ajax({
        type: 'GET',
        url: 'events.php',
        success: function(result) {
            var arr = JSON.parse(result);

                for(var i = 0; i < arr.length; i++) {
                var obj = arr[i];   

                var output = document.getElementById("allevents");  

                output.innerHTML += '<div class="comment-container"><div class="eventname">'+obj.eventname+'</div><div class="date">'+obj.date+'</div><div class="time">'+obj.time+'</div><div class="location">'+obj.location+'</div></div>';

            }
        }
    });

filterevents. php

<?php

require_once('checklog.php');
require_once("db_connect.php");
require_once("functions.php");

This is where I want to filter but not sure how to do it.

?>

filterevents. js

// When post button is clicked
$(document).ready(function() {
    var forum = $("#eventForm");
    $("#eventForm").on('submit', function(event) {
        event.preventDefault();

        var events = new FormData(this); 

    if (events) {

    // Call Ajax for new comment
    $.ajax({
        type: 'POST',
        url: 'filterevents.php',
        data: events, 
        processData: false, 
        contentType: false,
        success: function(response) {
                if(response == "Success")  
                {
                  document.getElementById("comment").innerHTML = response;
                } else { 
                    document.getElementById("error").innerHTML = response;
                } 
            } 
        });
    } else { 
        document.getElementById("error").innerHTML = "Please Select A Location";
    }        
    return false;
    });

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