2017-02-14 6 views
1

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

Я пытаюсь получить данные $_POST на той же странице, чтобы пользователь мог увидеть новую форму, которую им нужно заполнить и не отображать предыдущую таблицу, но я никогда не попадаю внутрь if заявление, которое проверяет, является ли он IsSet лик это:

isset($_POST['xx']) 

Я действительно не знаю, что я делаю неправильно здесь. Это мой код до сих пор:

$(".mypost").on("click",function(){ 
    $.ajax({ 
     url: "../ajout-correctifs/", 
     type: "POST", 
     data: { selectedcoll: $("#MyTable1 tr.selected input").val()}, 
     success: function(response){  
      window.location = "../ajout-correctifs/"; 
      //alert(response); 
     }, 
     error: function(){ 
      alert("POST METHOD ERROR : DATA NOT POSTED - IMMINENT PAGE RELOAD.."); 
      window.location = "../ajout-correctifs/"; 
     } 
    }); 
}); 

Дополнительная информация:

  • $("#MyTable1 tr.selected input") является то, что помогает мне получить то, что пользователь выбрал.
  • в alert("response") отображает HTML код

EDIT: Вот мой PHP-файл:

https://raw.githubusercontent.com/SofiaEO/mypage/master/mycode.php

EDIT: Решение в случае, если кто-то имеет тот же вопрос

Я удалил значение url + я использовал $('body').html(response) для печати страницы.

+0

вы можете показать нам код PHP? – Cashbee

+0

@Cashbee отметил. Я только что редактировал свой вопрос, но вот ссылка еще раз (у него около 300 строк): https://raw.githubusercontent.com/SofiaEO/mypage/master/mycode.php – SofiaEO

+0

, пожалуйста, не связывайтесь с внешним источником 300 линий. прочитайте: http://stackoverflow.com/help/mcve – Nanne

ответ

0
  1. Проверьте ajax "url" param.
  2. В вашей функции успеха вы использовали «window.location». Вы не можете этого сделать, потому что после перенаправления вы теряете «данные» сообщения ajax и всегда ложны условие на «новой» перенаправленной странице: «isset ($ _ POST ['xx'])».

Так, чтобы избежать этого НЕ ОТКЛЮЧАЕТСЯ после ответа ajax. Удалите window.location в вашей функции успеха;

Посетите этот: Ajax tutorial for post and get

+0

Я только что опробовал решение, которое вы отправили; избавился от перенаправления, и все, кроме того, когда я добавляю ответ функции успеха на элемент div, он просто выводит html как обычный текст; то, что я хочу получить, - это, в частности, значение $ _POST, которое нельзя вставлять в элемент HTML, но использовать как переменную. – SofiaEO

+0

Плюс, другая часть страницы, которая загружается при установке $ _POST, не отображается, вместо этого у меня есть таблица, в которой я выбираю значение для публикации и простой HTML-код сразу после. – SofiaEO

+0

Для отображения html-кода ниже «isset» использует jquery в вашей функции успеха. Найдите этот код (например: $ (response) .find ('# mytable');) и после добавления найденного кода на нужную html-страницу. – alvarofvr

 Смежные вопросы

  • Нет связанных вопросов^_^