Как я могу сохранить значение поля поиска datatable и использовать его на другой странице?

Я хотел бы отправить с помощью POST значение поля "поиск" datatable, чтобы использовать его для инициализации другой страницы, это возможно? я пытаюсь таким образом

$(document).ready(function() {
 var table = $('#elencoprodotti').DataTable( {

    "language": {
        "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json",
        "decimal": ",",
        "thousands": "."
    },
    "ajax": {
        "url": modulo+"_get_elenco.php?tabella = ",
        "dataSrc": ""
    },
    "columns": [
        { "data": "IMG" },
        { "data": "CODICE" },
        { "data": "CODICE_OBSOLETO" },
        { "data": "DESCRIZIONE" },
        { "data": "CATEGORIA" },
        { "data": "FORNITORE" },
        { "data": "UM_BREVE" },
        { "data": "QTA_NEW" },
        { "data": "SCORTA_MINIMA" }
    ],
    "columnDefs": [
        { 

            "targets": [0],
            "searchable": false, // disabilita la ricereca per il campo con indice 0
            "orderable": false // disabilita l'ordinamento4

        },

это был мой код, и я добавил эту функцию при изменении, и я установил значение фильтра в переменной, но теперь я не могу отправить его по почте

$('#elencoprodotti').on('change', function() {
    var value = $('.dataTables_filter input').val();
    //alert(value); // <-- the value
      $.ajax({
        type:"POST",
        method:"POST",
        url: "ciao.php",
        data:{ 'value': value},
        success: function(){
            alert(value);

    }


    });

и ciao.php просто

    $name = $_POST['value'];
echo $name;

вы можете попытаться поймать значение поля поиска по данным, используя onblur

hungrykoala 11.05.2018 10:05

Так что же сейчас происходит?

RiggsFolly 11.05.2018 10:07

@RiggsFolly, теперь у меня ошибка: "Неопределенный индекс: значение"

Jordan.M 11.05.2018 10:09

@hungrykoala, я просто уловил значение, которое моя проблема - отправить его с помощью POST

Jordan.M 11.05.2018 10:11

так alert(value); работает правильно?

hungrykoala 11.05.2018 10:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
90
2

Ответы 2

Ты можешь сделать это:

$('.dataTables_filter input').on('blur', function() {
    var search_value = $('.dataTables_filter input').val();
      $.ajax({
        method:"POST",
        url: "ciao.php",
        data:{ "value":search_value},
        success: function(data){
            alert(data);
        }
});

Удалять type:"POST", не нужно. Вам также необходимо добавить параметр в функцию успеха, иначе вы не сможете получить результат.

Кроме того, переменные должны быть конкретными, поэтому я заменил value на search_value.

извините, я плохо выразился, также предупреждение не работает, на мой взгляд, это все $ .ajax ({это неправильно, но я не знаю, как ... потому что с var search_value = $ ('. dataTables_filter input'). val (); я улавливаю значение и могу правильно добавить его к URL-адресу, а затем получить его в GET, но я не хочу, чтобы мой поиск был виден в URL-адресе

Jordan.M 11.05.2018 10:23

@ Jordan.M Я обновил его, чтобы смотреть .dataTables_filter input и использовать blur для проверки изменений. Поскольку вы упомянули, что вы можете получить данные с помощью $('.dataTables_filter input').val()

hungrykoala 11.05.2018 10:49

@ Jordan.M То, что я имел в виду под предупреждением, - это первое предупреждение сразу после $('.dataTables_filter input').val().

hungrykoala 11.05.2018 10:50

Вместо этого привяжите событие к поисковому вводу, чтобы задача работала.

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

$('.dataTables_filter input').on('change keyup paste', function() {
  var value = $(this).val();
  alert(value); // <-- the value
  $.ajax({
    type: "POST",
    url: "ciao.php",
    data: {
      'value': value
    },
    success: function() {
      alert(value);

    }
  });
});

В ciao.php - вы можете сохранить переданное значение в переменной сеанса, чтобы снова использовать его на другой странице.

спасибо за ответ, но он не работает, значение также не установлено в POST

Jordan.M 11.05.2018 10:42

Убедитесь, что мой код находится ниже блока $('#elencoprodotti').DataTable(.....);, чтобы он работал.

Karlo Kokkak 11.05.2018 11:48

Другие вопросы по теме