Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.04.2014, 20:07
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Через обращение к определенному php скрипту по ajax - можно, да. Напрямую - нельзя. php исполняется на сервере, не в браузере клиента, а на сервере, результат его выполнения - html-страница. Клиент обратился к серверу, php скрипт отработал, вывел html-страницу - все, до свидания.
Ответить с цитированием
  #12 (permalink)  
Старый 08.04.2014, 03:31
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Скажите что не так делаю
<script type="text/javascript">
$('#num').bind("keyup change", function(){
var num = $("#num").val();
$.post('ajax.php', {
num: num
},
function (data) {
$("#system_msg").html(data);
}
);
});
</script>
<div id="system_msg"></div>
<input type="text" id="num" value="">
Ответить с цитированием
  #13 (permalink)  
Старый 08.04.2014, 10:30
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Сообщение от cript Посмотреть сообщение
Приветствую!
Данный код отображает введенный в инпуте текст на странице.
<input type="number" name="add" id="add" value="100">
<span id="infomsg"></span>
<script>
$('#add').keyup(function(){
var Price = '<?=$price;?>';
var Value = $('#add').val();
var Total = Value * Price;
var Total = '<?=action(Total);?>'; // <-- php функция
$('#infomsg').empty();
$('#infomsg').text(Total);
});
</script>

Есть php функция action, не получается добавить ее в этот код, подскажите что можно сделать?
Мусье знает толк в извращениях...
Ученые тоже как-то пытались скрестить свинью с человеком - нихера не вышло...
<?=$var ?>
<?php echo $var; ?>

Эти записи эквивалентны, но первая работает не всегда
Если нужно вызвать функцию, то echo не нужно
<?php foo(); ?>

Ну а если извращаться...
<script>
var total = 100;
var total = "<?php action("+ total +"); ?>";
</script>

Ну и естественно php должен выполнять код в этом файле - см. расширение
Ответить с цитированием
  #14 (permalink)  
Старый 08.04.2014, 13:43
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Hapson,
"<?php action("+ total +"); ?>"; - такой вариант не срабатывает, делаю так: "<?=money("+ Total +");?>"; - функция работает, но не считывается переменная..
Ответить с цитированием
  #15 (permalink)  
Старый 08.04.2014, 15:26
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Подскажите как правильно сделать, чтобы при изменении текста отправлялся запрос..? Делаю так но ничего не происходит..

<script type="text/javascript">
$('#num').bind("keyup change", function(){
var num = $("#num").val();
$.post('ajax.php', {
num: num
},
function (data) {
$("#system_msg").html(data);
}
);
});
</script>
<div id="system_msg"></div>
<input type="text" id="num" value="">
Ответить с цитированием
  #16 (permalink)  
Старый 08.04.2014, 15:49
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

Полагаю что вы не правильно передаете данные.

Вместо
{
num: num
}


Надо
{
data: {num: num}
}
Ответить с цитированием
  #17 (permalink)  
Старый 08.04.2014, 15:59
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Сообщение от nyols
{
data: {num: num}
}
Смотрел в браузере данные не передаются..
Ответить с цитированием
  #18 (permalink)  
Старый 08.04.2014, 16:35
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Блок со скриптом после HTML элементов поставь. И зачем вешать сразу на keyup и на change? Получается при каждом введенном символе будет отправляться 2 одинаковых запроса.
Ответить с цитированием
  #19 (permalink)  
Старый 08.04.2014, 17:25
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Сообщение от jsnb
Блок со скриптом после HTML элементов поставь. И зачем вешать сразу на keyup и на change? Получается при каждом введенном символе будет отправляться 2 одинаковых запроса.
Как оказалось все решается гораздо проще:
$(document).ready(function(){   
$('input[name=num]').on("keyup paste cut IE9EventFix change", function (){ 
var Total = document.getElementById('num').value;
$.ajax({
type: 'POST',
url: 'ajax.php',
data: "Total=" + Total,
success: function(data) {
$('#infomsg').html(data);
}
});           
});
});
Ответить с цитированием
  #20 (permalink)  
Старый 08.04.2014, 17:27
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Сообщение от jsnb
И зачем вешать сразу на keyup и на change? Получается при каждом введенном символе будет отправляться 2 одинаковых запроса.
Потому что Input type="number"
Делаю так
.on("keyup paste cut IE9EventFix change"...

Посмотрел отправляется один запрос.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP код и JavaScript в одном файле. lexnext1 Элементы интерфейса 2 01.12.2011 13:26
нужна функция аналог slideToggle, только на Javascript Telnet jQuery 4 04.10.2011 11:43
php + javascript, проверка капчи zhuzha Общие вопросы Javascript 10 02.06.2010 13:30
Javascript and php JSprog Общие вопросы Javascript 1 26.08.2009 21:03
JAVASCRIPT в цикле PHP Nobls Общие вопросы Javascript 3 04.12.2008 17:51