2011-12-15 2 views
0
$('myBtn').on("click",function(){ 
var parent= $(this).parent();// will give you the Parent Object of the button, that has  been clicked 
}); 

Мне нужно отправить уаг родителя PHP, так что знает, где отображать данные HTML (в корректном являются DIV/класс, как бы я это сделать.Как отправить данные из JavaScript в PHP

+3

Я не совсем понимаю ваш вопрос, но я думаю, что Ajax может решить вашу проблему. – Songo

+0

должен создать функцию ajax, которая отправляет var в php? – foshoeiyyy

+1

+1 на ajax - вы должны взглянуть на команду jQuery ajax.Он очень прост в использовании и делает именно то, что вы хотите. Документов jQuery должно быть достаточно, чтобы вы начали. –

ответ

3

короткий Ответ: «Вы не можете».

Связь между браузером (где работает JS) и сервером (где работает PHP) обрабатывается через HTTP. Если вы хотите отправить объект JavaScript, вам придется сериализовать его на строку и десериализировать его на другом конце. Не существует разумного способа представления HTMLElementNode (или объекта jQuery, который обертывается) в этом процессе (не в последнюю очередь потому, что PHP обычно не представляет HTML в DOM, и когда это произойдет, это не будет тот же экземпляр DOM, что и браузер).

Обычно в таком виде вы запрашиваете некоторые данные из PHP (возможно, используя один из jQuery's ajax methods), а затем используете JavaScript, чтобы превратить его в элементы DOM и вставить его в документ.

2

Попробуйте JSON и Ajax (XMLHttpRequest) в качестве механизма «клиент-сервер» на

JavaScript оценивается на стороне клиента, когда PHP является на стороне сервера. Вы не тривиальный способ сделать это.

0

Если данные html еще не сгенерированы, вам нужно будет сделать новый запрос на сервер, предпочтительно с помощью функции jQuery $.get, а затем передать вывод (снова через jQuery) в элемент parent.

0

Пожалуйста, используйте Jquery и использовать $ .ajax для этой цели

$.ajax({ 
type: "POST", 
url: "yourPHPPage.php", 
data: "parentvar="+parent, 

// родитель является Java-переменная

success: function(msg){ 


//Message received from server, 
    // if you would write some code in echo there, like echo "hello"; 
    // you would get that in msg. 


} 

});

для доступа к этой переменной на php используйте $ _POST ["parentvar"]; Вы также можете отправить несколько значений, объединив их с оператором &. Нравится data:"parentVar="+parent+"&name=atif&age=23"; и т. д.

Пожалуйста, дайте мне знать, если потребуется дополнительная помощь.

Дальнейшая помощь по http://api.jquery.com/jQuery.ajax/

+0

Скручивание объекта jQuery не даст вам ничего полезного для отправки на сервер. – Quentin

0

Насколько я знаю, вы не можете передать объект DOM непосредственно на сервере - там слишком много информации, хранящейся на это, чтобы быть практичным. Однако вы можете отправить HTML-код объекта.

Вот пример, который отправляет HTML-код на сервер. Вы обрабатывали бы его, но мы просто повторяем его.

http://jsfiddle.net/hLD4F/

Попробуйте нажать на любую из кнопок, и он будет посылать запрос. В PHP вы можете получить доступ к этой информации через $_POST['html'].

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