Jquery .post не работает на div всплывающих окон - PullRequest
0 голосов
/ 24 июня 2011

Я нахожусь в конце этого ума, потратил на это часы ...

У меня есть div, который всплывает с кнопкой, эта кнопка также заполняет данные для разделов html-разделов ...

Это все работает, но не работает, когда я использую ajax для публикации в файл php и обратно ... Ну, это работает, но только после второго щелчка, а не первого ...

$.post("getprice.php", { unit: $('input[name=property]:checked').val() } ,function(data){
        $('#price').html(data);
     });

$timenow = time();
$unit=$_POST['unit'];
$query = "SELECT * FROM rl_pricing WHERE start_date < $timenow AND stop_date > $timenow AND unit=$unit";
$results = mysql_query($query);
$row = mysql_fetch_array( $results );
echo "Price: ".$row['3day'];

Просто, похоже, не работает при первом нажатии ...

На этой странице http://offline.raileisure.com

нажмите кнопку «Получить цену», и она не будет отображать цену ... щелкните и нажмите на нее снова, и она будет работать ...

Надеюсь, что имеет смысл

EDIT:

Итак, код делает то, что должен, но он не работает при первом щелчке, но при втором ... это как-то связано с всплывающим div ... если я получу его для обновления на на той же странице его хорошо

Ответы [ 3 ]

1 голос
/ 24 июня 2011

При первом нажатии кнопки цена добавляется в местоположение, которое в данный момент скрыто:

<div id="info" style="display:none;">
<form action="lee.php" method="post">
<table cellspacing="0" cellpadding="0" border="0" align="center" width="75%">
<tbody>
<tr>
<td align="center" colspan="3">
<div id="extrasinfo"></div>
<div id="price">Price: 499</div>
<input id="btowelsinput" type="hidden" value="" name="btowelsinput">
<input id="bcotinput" type="hidden" value="" name="bcotinput">
<input id="bbouncyinput" type="hidden" value="" name="bbouncyinput">
<input id="bpetfeeinput" type="hidden" value="" name="bpetfeeinput">
<input id="boveroccinput" type="hidden" value="" name="boveroccinput">
</td>
</tr>
</tbody>
</table>
<input type="submit">
</form>
</div>

UPDATE

Проблема в том, что когда вы нажимаете кнопку, появляется 2 HTML-элемента с идентификатором "цена". Это не разрешено в HTML, и ваш код запутался. Это добавление цены к первому div с этим идентификатором, но не ко второму (ожидаемому).

ОБНОВЛЕНИЕ 2

Судя по всему, весь HTML-сегмент, где должна отображаться цена, дублируется на вашей странице.

0 голосов
/ 24 июня 2011

Используя firebug, я вижу, что сообщение запускается и ответ возвращается как 499.

Код включен в функцию ready?$(function() { });

0 голосов
/ 24 июня 2011

Это работает для меня в Firefox 5 и IE 9. Вы пробовали очистить кеш?

Я бы рекомендовал скачать Firebug для firefox (здесь) , если у вас его еще нет. Вы можете легко видеть ajax звонки.

Другая хорошая программа - Fiddler2 ( здесь )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...