Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переда переменной (https://javascript.ru/forum/misc/19348-pereda-peremennojj.html)

arahmanov 02.08.2011 13:50

Переда переменной
 
Добрый день , есть текстовое поле есть календарик, при нажатие на день недели календаря в текстовое поле попадает значение, Вопрос как вывести это значение alert ом на экран. ( звучит глупо просто мне надо понять )


<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.14.custom.css" rel="stylesheet" />
<script src="js/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>
<script src="js/i18n/jquery-ui-i18n.js" type="text/javascript"></script>



<input id="datepicker" type="text" />


<script type="text/javascript">
$(function(){
$("#datepicker").datepicker();
});


</script>


<script type="text/javascript">
$(function(){
$.datepicker.setDefaults(
$.extend($.datepicker.regional["ru"])
);
$("#datepicker").datepicker();
});
</script>


<script type="text/javascript">
$(function(){
$.datepicker.setDefaults(
$.extend($.datepicker.regional["ru"])
);
$("#datepicker").datepicker({
minDate: "-30",
maxDate: "+1m +1w +3d"
});
});
</script>
<script type="text/javascript">
$(function(){
$.datepicker.setDefaults($.extend(
$.datepicker.regional["ru"])
);
$("#datepicker").datepicker({
beforeShow: function(input) {
$(input).css("background-color","#ff9");
},
onSelect: function(dateText, inst) {
$(this).css("background-color","");
alert("Выбрано: " + dateText +
"\n\nid: " + inst.id +
"\nselectedDay: " + inst.selectedDay +
"\nselectedMonth: " + inst.selectedMonth +
"\nselectedYear: " + inst.selectedYear);
},
onClose: function(dateText, inst) {
$(this).css("background-color","");
}
});
});
</script>

shnobyl 05.08.2011 12:23

сам сейчас решение искал решение, у меня так работает:

<script type="text/javascript">
$(function(){
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
alert(dateText);
}
});
});


</script>

arahmanov 05.08.2011 15:00

Спасибо огромное разобрался
 
Спасибо огромное разобрался
Остается еще одна не решенная тема до завершения проекта.
Теперь у меня есть переменная и есть два пути первый это php Надо эту переменную передать в php ( чтобы я после сделал выборку по базе с этим значением )
Вопрос : Как передать переменную dataText в php

и второе как сделать ajax запрос в базу с этим значением к сожалению не знаю ajax, хотя бы примерно подскажите как выглядеть выглядеть запрос просто пример

ваый 05.08.2011 15:15

Клиент:
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     // колобок - ответ от сервера, если надо
});
На сервере:
$param1 = $_GET['param1'];

arahmanov 05.08.2011 15:44

Не совсем понял
 
Понимаешь у меня два пути либо сам календарь делать радио кнопками и просто из базы выводить по этим значениям.... что конечно не очень хотелось, либо второй чтобы переменная которая сейчас наконец то есть автоматически выводила из базы нужные поля.

Подскажите пожалуйста как это можно реализовать

Допустим есть переменная data
которая меняется в зависимости выбора пользователя

какой запрос ajax должен быть чтобы вести поле name из базы по числу 01/01/2011

прошу прошения за тупость только что нашел в google
Ajax выполняется на стороне клиента, а работать с MySQL надо на стороне сервера. Через Ajax можно обратиться к php скрипту, что бы он отправил запрос на MySQL

если это так то перефразиую свой вопрос каким обзорам нужно обратиться у к php файлу чтобы прошел запрос

arahmanov 05.08.2011 15:52

как я понял что запрос я все равно пишу на php остается только выполнить скрипт ajax который бы делал это постоянно

arahmanov 05.08.2011 16:16

Цитата:

Сообщение от ваый (Сообщение 117459)
Клиент:
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     // колобок - ответ от сервера, если надо
});
На сервере:
$param1 = $_GET['param1'];


Уточни пожалуйста что надо написать какой запрос или что чтобы получить ответ от сервера. Как я понял что мы идет к файлу script.php он получает от нас параметр методом GET а дальше мы его возвращаем

ваый 05.08.2011 16:37

Ajax - обычный http запрос. Все, что скрипт отдаст, то тебе и придет в колобок.

script.php
<?php
echo 'Hello';
?>
клиент
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     alert(data); // выдаст "Hello"
});

arahmanov 05.08.2011 16:55

Цитата:

Сообщение от ваый (Сообщение 117476)
Ajax - обычный http запрос. Все, что скрипт отдаст, то тебе и придет в колобок.

script.php
<?php
echo 'Hello';
?>
клиент
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     alert(data); //не  выдает "Hello"
});


Честно простите но у меня не работает. Создаю фаил
script.php
в нем пишу

<?php
echo 'Hello';
?>

в index пишу
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     alert(data); // выдаст "Hello"
});


все равно не работает мозгами понимаю как и что но не пойму

arahmanov 05.08.2011 17:05

Напишу полностью чтобы было понятней
 
Есть скрипт
Календаря
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.14.custom.css" rel="stylesheet" />
<script src="js/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>


<div align="center" type="text" name="date" id="date" onClick="document.getElementById('result').innerHTML = this.value;"></div>


<script type="text/javascript">
$(function(){
$("#date").datepicker({
onSelect: function(dateText, inst) {
alert(dateText);
}
});
});
</script>


<br>



<script type="text/javascript">
$(function(){
  $("#date").datepicker();
});


</script>


<script type="text/javascript">
$(function(){
  $.datepicker.setDefaults(
        $.extend($.datepicker.regional["ru"])
  );
 $("#date").datepicker();
});
</script>


<script type="text/javascript">
$(function(){
  $.datepicker.setDefaults(
        $.extend($.datepicker.regional["ru"])
  );
  $("#date").datepicker({
    minDate: "-30",
    maxDate: "+1m +1w +3d"
  });
});
</script>
<script type="text/javascript">
$(function(){
  $.datepicker.setDefaults($.extend(
    $.datepicker.regional["ru"])
  );
  $("#date").datepicker({
    beforeShow: function(input) {
      $(input).css("background-color","#ff9");
    },
    onSelect: function(dateText, inst) {
      $(this).css("background-color","");
      alert("Выбрано: " + dateText +
	  
        "\n\nid: " + inst.id +
        "\nselectedDay: " + inst.selectedDay +
        "\nselectedMonth: " + inst.selectedMonth +
        "\nselectedYear: " + inst.selectedYear);
    },
    onClose: function(dateText, inst) {
      $(this).css("background-color","");
   
    }
	
  });
  
  
});
});
</script>


благодаря тебе включил в него
$.post('/script.php', {
    param1: value1,
    param2: value2
}, function(data) {
     alert(data); // выдаст "Hello"


При выборе дате выводит окно с датой, мне надо чтобы по этой дате из баз выводились данные


но даже Hello не выводиться

ваый 05.08.2011 17:11

Это базовый пример ajax запроса. Там просто нечему не работать. Значит, что-то ты не так делаешь. Смотри консоль, идет запрос или нет, что приходит в ответ.

arahmanov 06.08.2011 13:59

Спасибо за помощь
 
Сделал теперь могу забирать значение , из файла php вот скрипт

<input value="Забрать дату!" onclick="vote()" type="button" />

<div id="vote_status">Здесь будет ответ сервера</div>

<script type="text/javascript">
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
// javascript-код голосования из примера
function vote() {
	// (1) создать объект для запроса к серверу
	var req = getXmlHttp()  
       
        // (2)
	// span рядом с кнопкой
	// в нем будем отображать ход выполнения
	var statusElem = document.getElementById('vote_status') 
	
	req.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (req.readyState == 4) { 
            // если запрос закончил выполняться

			statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)

			if(req.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				alert("Ответ сервера: "+req.responseText);
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}

       // (3) задать адрес подключения
	req.open('GET','http://localhost/dnevnik/ajax_intro/vote.php', true);  

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	req.send(null);  // отослать запрос
  
        // (5)
	statusElem.innerHTML = 'Ожидаю ответа сервера...' 
}
	</script>



код php
<?php

$data = '08/08/11';
echo $data;
?>
и сразу возникает вопрос забрать то я могу, но как мне передавать скрипту php постоянно меняющие значения $data для того чтобы сделать запрос в базу по этому значению.

ваый 06.08.2011 15:20

Про GET переменные слыхал? Ну во, юзай их.

arahmanov 06.08.2011 15:40

меня осенило только что спасибо, последний вопросик

responseText забирает текст
respornseXml забирает xml
а есть еще
какой-нибудь response который был конкретно забирал переменную ???

ваый 06.08.2011 16:53

Нету. Есть responseText, и этого более чем достаточно. Почитай про JSON. Это то, что тебе надо.


Часовой пояс GMT +3, время: 05:06.