У меня есть это:
<h4 class="modal-title" id="exampleModalLabel"> hello </h4>
и я хочу извлечь слово hello, используя свой id
и назначить это php var, но у меня нет идеи. Если бы это был вход, было бы легче, но я использовал бы другой элемент
вы можете использовать
document.getElementById('exampleModalLabel').innerHTML
Это возвращает hello
.
Смотрите скрипку
Согласно документам
Свойство Element.innerHTML задает или получает синтаксис HTML, описывающий потомки элемента.
Чтобы назначить это переменной php, попробуйте
<?php $text="<script>document.writeln(document.getElementById('exampleModalLabel').innerHTML);</script>";
UPDATE после просмотра. If it were an input would be easier but I have yo use a different element
в вашем вопросе
Используйте document.getElementById('exampleModalLabel').innerHTML
чтобы установить значение скрытого поля ввода, а затем вы можете использовать его, как вы сказали в вопросе.
Хорошо, Рене Лимон, как вы уже знаете, переменные PHP существуют на стороне сервера, а текст «привет» существует на стороне клиента. Итак, вам нужно отправить значение («привет» или любое другое) на сервер. Это можно сделать с Ajax. Следующий файл ( sendhello.php ) получает значение внутри тега и отправляет его на сервер. Второй файл ( sendhelloo.php ) получает значение и сохраняет его в переменной. Чтобы проверить мой код, вам нужно создать два текстовых файла с указанными именами, скопировать-вставить в них код, открыть браузер и ввести «localhost / sendhello.php»:
sendhello.php
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type = "text/javascript"> function myAjax () { $.ajax( { type : 'POST', data : {'action':document.getElementById('my_h4').innerHTML }, url : 'sendhelloo.php', success: function ( data ) { alert( data ); }, error: function ( xhr ) { alert( "error" ); } }); } </script> </head> <body> <h4 id="my_h4"> hellooo </h4> <br/> <button onclick="myAjax()">Send hello to server</button> </body> </html>
sendhelloo.php
<?php session_start(); $_SESSION["my_data"] = $_POST['action']; // STORE VALUE IN VARIABLE. echo "data received = " . $_POST['action']; // RETURN VALUE TO CONFIRM. ?>