Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: переменные в php из java script
 
 автор: darkozoid   (16.06.2011 в 19:11)   письмо автору
 
 

может кто знает как в php использовать переменную из java scritpt без перезагрузки страницы?


<script>
var name=prompt('Имя: ');
</script>

и вот как мне потом, после нажатия кнопки ок, эту переменную использовать php?

  Ответить  
 
 автор: cheops   (16.06.2011 в 19:48)   письмо автору
 
   для: darkozoid   (16.06.2011 в 19:11)
 

Здесь придется формировать AJAX-запрос. Допускается ли использование библиотеки jQuery?

  Ответить  
 
 автор: darkozoid   (16.06.2011 в 21:30)   письмо автору
 
   для: cheops   (16.06.2011 в 19:48)
 

думаю что да
а с примерами можно?

  Ответить  
 
 автор: cheops   (16.06.2011 в 22:16)   письмо автору
 
   для: darkozoid   (16.06.2011 в 21:30)
 

Пусть имеется файл index.php
<html>
  <head>
    <title>jQuery</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
    <script type="text/javascript" src="jquery.js" ></script>
    <script type="text/javascript">
    // Назначить обработчики события click
    // после загрузки документа
    $(document).ready(function(){
      $('#id_click').bind("click", function(){
        var name=prompt('Имя: ');
        url = "session.php?name=" + name;
        url = encodeURI(url);
        $("#id_result").load(url);
      });
    });
    </script>
  </head>
  <body>
    <div id='id_click' style='cursor:pointer;'>Щелкните, чтобы записать свое имя в сессию</div>
    <div id='id_result'></div>
  </body>
</html>
а также файл session.php, который будет использоваться, для того, чтобы поместить введенное пользователем имя в сессию (массив $_SESSION)
<?php
  
// Инициируем сессию
  
session_start();
  
// Помещаем имя в сессию
  
$_SESSION['name'] = $_GET['name'];
  
// Выводим введенное имя
  
echo $_SESSION['name'];
?>

  Ответить  
 
 автор: darkozoid   (16.06.2011 в 22:29)   письмо автору
 
   для: cheops   (16.06.2011 в 22:16)
 

спасибо

  Ответить  
 
 автор: darkozoid   (17.06.2011 в 00:09)   письмо автору
 
   для: darkozoid   (16.06.2011 в 22:29)
 

а не работает....

  Ответить  
 
 автор: cheops   (17.06.2011 в 01:09)   письмо автору
 
   для: darkozoid   (17.06.2011 в 00:09)
 

В чем выражается "не работа"? Файл jquery.js загружен и лежит рядом со скриптом?

  Ответить  
 
 автор: darkozoid   (17.06.2011 в 19:13)   письмо автору
 
   для: cheops   (17.06.2011 в 01:09)
 

да в корне
просто ни чего не происходит
даже если в подгружаемом файле просто написать
echo"test";

или не реагирует на клик или не подгружает фаил

  Ответить  
 
 автор: cheops   (17.06.2011 в 19:48)   письмо автору
 
   для: darkozoid   (17.06.2011 в 19:13)
 

Добавьте в обработчик alert() - что-нибудь выводится при нажатии на надпись
<html> 
  <head> 
    <title>jQuery</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 
    <script type="text/javascript" src="jquery.js" ></script> 
    <script type="text/javascript"> 
    // Назначить обработчики события click 
    // после загрузки документа 
    $(document).ready(function(){ 
      $('#id_click').bind("click", function(){ 
        alert("Hello");
        var name=prompt('Имя: '); 
        url = "session.php?name=" + name; 
        url = encodeURI(url); 
        $("#id_result").load(url); 
      }); 
    }); 
    </script> 
  </head> 
  <body> 
    <div id='id_click' style='cursor:pointer;'>Щелкните, чтобы записать свое имя в сессию</div> 
    <div id='id_result'></div> 
  </body> 
</html>
PS В каком браузере тестируете скрипт?

  Ответить  
 
 автор: darkozoid   (17.06.2011 в 23:18)   письмо автору
 
   для: cheops   (17.06.2011 в 19:48)
 

в мазиле

 <script type="text/javascript" src="jquery.js" ></script>
    <script type="text/javascript">

    $(document).ready(function(){
      $('#preg').bind("click", function(){
      var name=prompt('Имя: '); 
        url = "./var_reg.php?one=" + name;

        $("#id_result").load(url);
      });
    });
    </script>
<a href='javascript://' class='tml' id='preg'>ссылка</a>
<div id='id_result'></div>

  Ответить  
 
 автор: cheops   (17.06.2011 в 23:31)   письмо автору
 
   для: darkozoid   (17.06.2011 в 23:18)
 

>в мазиле
Mozilla Firefox? Проверил, у меня работает. Посмотрите в консоли ошибок - нет никаких сообщений?

Поправьте также ссылку
<a href='javascript://' class='tml' id='preg'>ссылка</a>
на
<a href='#' class='tml' id='preg'>ссылка</a>


>url = "./var_reg.php?one=" + name;
Уберите точку из URL

Вводится английское имя? Если нет, то добавьте строку url = encodeURI(url);

PS Добавьте также alert-вывод, как приведено выше - он срабатывает или нет?

  Ответить  
 
 автор: darkozoid   (19.06.2011 в 17:02)   письмо автору
 
   для: cheops   (17.06.2011 в 23:31)
 

все работает, спасибо огромное

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования