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

HTML+CSS+JavaScript

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

 

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

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

тема: jquery
 
 автор: Antohins   (20.03.2008 в 15:51)   письмо автору
 
 

<script> 
function sendData(obj) { 
  var post = {p: obj.value, id: obj.id}; 
$.post('backend.php', post, function(data){$('#debug').html(data);}) 

</script> 

вот код. он выводит результат в див с ид debug

внимание, вопрос: Как вернуть значение не выводя его. И чтобы можно было использовать в javascript ?

   
 
 автор: AlexSol   (20.03.2008 в 16:03)   письмо автору
 
   для: Antohins   (20.03.2008 в 15:51)
 

var myData = '';

$.post('backend.php', post, function(data){myData=data;})  

   
 
 автор: Antohins   (20.03.2008 в 16:14)   письмо автору
 
   для: AlexSol   (20.03.2008 в 16:03)
 

Спасибо!

И еще есть проблема в следующем:

var sel = $("#izd");
$("<option></option>") 
  .attr("value", 1)    
  .html("PRIMER")
  .appendTo(sel);    


этот код добавляет в селект с id=izd еще один оптиoн PRIMER со значением 1
Как сделать чтобы этот код вызывался при выборе в чекбоксе не более одного раза?

Заранее спасибо.

   
 
 автор: AlexSol   (20.03.2008 в 16:19)   письмо автору
 
   для: Antohins   (20.03.2008 в 16:14)
 

событие one(type, data, fn)

$("p").one("click", function(){
alert( $(this).text() );
});

   
 
 автор: Antohins   (20.03.2008 в 16:22)   письмо автору
 
   для: AlexSol   (20.03.2008 в 16:19)
 

Не понятно

   
 
 автор: AlexSol   (20.03.2008 в 16:36)   письмо автору
 
   для: Antohins   (20.03.2008 в 16:22)
 

function add(){
var sel = $("#izd"); 
$("<option></option>")  
  .attr("value", 1)     
  .html("PRIMER") 
  .appendTo(sel);  
}

$("чекбокс").one("click", function(){
add()
});

   
 
 автор: Antohins   (20.03.2008 в 16:59)   письмо автору
 
   для: AlexSol   (20.03.2008 в 16:36)
 

если вместо "чекбокс" писать его id, то все по старому. ((

   
 
 автор: Antohins   (20.03.2008 в 18:12)   письмо автору
 
   для: AlexSol   (20.03.2008 в 16:36)
 

все решилось простым способом:
var flag = false;
.....
if(!flag) {
  функция срабатывает
  flag = !flag;
}
else {
  функция не срабатывает
}


спасибо!

   
 
 автор: Antohins   (21.03.2008 в 16:26)   письмо автору
 
   для: AlexSol   (20.03.2008 в 16:03)
 

var myData = ''; 

$.post('backend.php', post, function(data){myData=data;})


Если использовать ваш код, то переменная будет доступна только внутри функции, а мне нужно использовать её много раз и не только в этой функции.

Помогите пожалуйста

   
 
 автор: AlexSol   (21.03.2008 в 16:29)   письмо автору
 
   для: Antohins   (21.03.2008 в 16:26)
 

переменна доступна из любого места можете проверить так

var myData = 'init';  

$.post('backend.php', post, function(data){myData=data;alert(myData);}) 

alert(myData)

просто ей присваивается значение не сразу

   
 
 автор: Antohins   (21.03.2008 в 16:36)   письмо автору
 
   для: AlexSol   (21.03.2008 в 16:29)
 

Что значит не сразу присваивается значение?

И всеравно проблема та же. В первом алерте нормально возвращается результат. но второй алерт выводит 'init', а должен выдать то же что и первый алерт!!!

function sendData(obj) 
    {
var posts = {p: obj.value, id: obj.id}; 
$.post('backend.php', posts, function(data){myData=data;}
}


Вот сама функция. Мне нужно производить расчеты вне этой фукнции. А переменная myData доступна только в function(data){myData=data;} почему то((

Помогите пожалуйста.

   
 
 автор: AlexSol   (21.03.2008 в 17:01)   письмо автору
 
   для: Antohins   (21.03.2008 в 16:36)
 

переменная myData доступна везде. если бы она была доступна только в function(data){myData=data;} то вы бы даже "init" не получили!


смотрите: алерт вне функции выполняется как только страница загружается в браузер.
при занрузке страницы, вы посылаете пост запрос и он выполняется. однако скрипт не ждет завершения запроса, а продолжает свою работу.

решение - поместить все что должно работать с результами запроса в функцию, которая будет выполнена после получения данных

$.post('backend.php', posts, function(data){/* вот тут пишите код или вызывайте функцию в которой буде код нужный*/})

   
 
 автор: Antohins   (21.03.2008 в 17:08)   письмо автору
 
   для: AlexSol   (21.03.2008 в 17:01)
 

Шпасибо. Разобрался. Вы мне очень помогли.

   
Rambler's Top100
вверх

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