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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Всплывающая форма с предзаполнением и проверкой

Сообщения:  [1-10]    [11-20]   [21-30]  [31-38] 

 
 автор: confirm   (20.12.2012 в 07:55)   письмо автору
 
   для: Владимир55   (20.12.2012 в 00:49)
 

Не грузите jQuery со своего сервера, грузите его с Гугла - вероятность, что в этом случае ее загрузка не потребуется большая, то есть она уже кеширована у пользователя. В примере я вам так и написал.
Загрузка этой библиотеки со своего сервера нужна только в экстренных случаях, когда Гугл может быть не доступен. Для этого пропишите код загрузки библиотеки следующим образом:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="ваш_путь_к_библиотеке/jquery-1.8.2.min.js"><\/script>')</script>

Ужать библиотеку под свои нужды, это перелопатить ее исходник, и сами вы с этим вряд ли справитесь.

  Ответить  
 
 автор: Владимир55   (20.12.2012 в 00:49)   письмо автору
 
   для: Sfinks   (19.12.2012 в 23:47)
 

В общем-то, задача решена. Осталось только отладить вызов нескольких форм с одной страницы и попытаться ужать jquery под конкретную задачу - очень уж тяжел этот файл!

  Ответить  
 
 автор: Sfinks   (19.12.2012 в 23:47)   письмо автору
 
   для: Владимир55   (18.12.2012 в 16:19)
 

Я конечно поздно, но все же внесу ясность....

> Все 4 файла в одной папке (не в корне),
Ключевое слово тут - не в корне
т.к. url ajax-запроса указывает на '/file.php', т.е. файл, лежащий в корне.
Поэтому запрос получает в ответ 404 и, соответственно, ничего не происходит.
Либо в корне надо было класть, либо слеш убрать.

  Ответить  
 
 автор: confirm   (19.12.2012 в 17:41)   письмо автору
 
   для: Владимир55   (19.12.2012 в 16:54)
 

Ну а куда оно денется, конечно будет "туда-сюда" )
Вам сейчас надо определится с типом обмена данных - html или json. Станет ясно как будете вести диалог с сервером. Например, это будет json (я бы выбрал его или xml), то есть с сервера вы получаете все данные для .... И вырисовывается картина, что же из себя будет представлять это "ДЛЯ" на клиенте. Вы запрашиваете данные о продуктах, а значит это один и тот же набор данных о нем, следовательно "шаблон", а коли так, а зачем вам вообще форма?

Я не о том, что она вообще не нужна, а о том, нужна ли она вам постоянно? Если у вас список товаров, вы получаете какие-то данные, что-то добавляете, и все это посредством асинхронного обмена, тогда получается, что форма вроде бы как и не нужна. А значит ее нужно создавать динамически, удаляя после окончания диалога.

Занят я сейчас, но может появится время, значит напишу "черновик" такого сценария.

  Ответить  
 
 автор: Владимир55   (19.12.2012 в 16:54)   письмо автору
 
   для: confirm   (19.12.2012 в 15:43)
 

Большое спасибо! Впервые хоть что-то разумно заработало. Как говорил Армстронг, "Это маленький шаг для человека, но огромный — для всего человечества".

Я убелился, что передача идет и с браузера на сервер, и с сервера в браузер:
<?php
if($_POST['id']) echo ($_POST['id'] * 10) . "  Wowa Владимир55";

  Ответить  
 
 автор: confirm   (19.12.2012 в 15:43)   письмо автору
 
   для: Владимир55   (19.12.2012 в 14:50)
 

Это я вас в заблуждение.... - строковые значения (а url.php, это строковый параметр запроса) должны заключаться в кавычки, ну а все остальное верно.

  Ответить  
 
 автор: Владимир55   (19.12.2012 в 14:50)   письмо автору
5.9 Кб
 
   для: confirm   (19.12.2012 в 14:28)
 

По какой ссылке?

По той, что в скриншоте.


url.php - это просто нечто абстрактное, которое вы должны заменить своим, реальным, адресом, к которому у вас происходит обращение.

Для простоты я так и назвал РНР-файл: url.php. Это реальный файл.

Если это вводит в заблуждене - ладно, переименовал этот файл в 132.php. Все равно ведь не работает!

Только теперь
Сообщение: Предполагается наличие ')'
Строка: 14
Символ: 12
Код: 0


Строка 14:
$.post(132.php,data,function(d){ 

Она прижата к левому краю, так что символ 12 - это вообще часть расширения!

  Ответить  
 
 автор: confirm   (19.12.2012 в 14:28)   письмо автору
 
   для: Владимир55   (19.12.2012 в 13:40)
 

По какой ссылке?
url.php - это просто нечто абстрактное, которое вы должны заменить своим, реальным, адресом, к которому у вас происходит обращение.
Этот пример ответ на ваш вопрос "а как можно передать id...". Вот я бы так именовал поля продуктов (имея ввиду идентификаторы элементов, и тип элементов), и таким образом отправлял их на сервер.

  Ответить  
 
 автор: Владимир55   (19.12.2012 в 13:40)   письмо автору
 
   для: confirm   (18.12.2012 в 20:02)
 

При клике на ссылку скрипт не срабытывает.

Сообщение: 'url' - определение отсутствует
Строка: $.post(url.php,data,function(d){
Символ: 7 это точка после $
Код: 0

(Для простоты, РНР файл так и назван - url.php.)

  Ответить  
 
 автор: confirm   (18.12.2012 в 20:02)   письмо автору
 
   для: Владимир55   (18.12.2012 в 19:54)
 

А какой код для этого нужен? Ajax POST запрос в jQuery знаете же как пишется, знаете о его параметрах, а как можно получить параметр непосредственно данных для него, я на примере выше показал. Как конкретно у вас должно быть, сказать не могу, я ведь не знаю html структуру вашего документа. Лично я бы делал так, как описал выше - именование продукта (а по нему щелкать и естественно, и удобно) и содержит в себе его id.
<style>
  span{cursor: pointer;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$(function(){
   $('[id|=id]').click(function(){ 
      var data = this.id.split('-').join('=');
      $.post(url.php,data,function(d){
         alert(d);
      }, 'html');
   });
});    
</script>

<span id="id-123">Name product</span><br />
<span id="id-253">Name product</span><br />
<span id="id-23">Name product</span>

<?php
if($_POST['id']) echo $_POST['id'];
?>

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]  [31-38] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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