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

HTML+CSS+JavaScript

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

 

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

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

тема: POST-значение и JS-функция
 
 автор: Dmitry Berkut   (30.10.2007 в 14:39)   письмо автору
 
 

Такая проблема, вернее вопрос: может ли передаваться значение методом пост в js-функцию. Необходимо при передаче через форму до того как значение (или после того) попадает в скрипт-обработчик-action формы, организовать обработку значений х и у координат положения экрана.?????

   
 
 автор: sim5   (30.10.2007 в 15:05)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 14:39)
 

Может это вам надо: <form action="" onsubmit="return func()">? В функции func() обработаете нужное, после чего вернете true - только тогда форма будет передана. А метод POST это метод передачи данных на сервер, а никак не JS.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 15:29)   письмо автору
 
   для: sim5   (30.10.2007 в 15:05)
 

Т.е. это означает буквально следующее: пока функция func() не вернет значение (в данном случае координат положения экрана в момента "кликания") форма не отправляет значение?

   
 
 автор: sim5   (30.10.2007 в 15:38)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 15:29)
 

Нет, пока функция не вернет TRUE форма не отправится. Поэтому делайте все необходимые манипуляции, помещайте потом результат, в поле, которое передает его, поле этого - return true.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:00)   письмо автору
 
   для: sim5   (30.10.2007 в 15:38)
 

Хорошо, я придумал как это сделать, только подправьте меня с синтаксисом:
Значит имеем js-функцию:

<script type="text/javascript">
function func(){
   var yst=document.body.scrollTop;
   var xst=document.body.scrollLeft;
   document.co-ordination.form.xXx.value = xst;
   document.co-ordination.form.yYy.value = yst;
   return true;
}
</script>


И имеем форму:

<form name="co-ordination" action="" onsubmit="func()">
<input name="xXx" type="hidden">
<input name="yYy" type="hidden">
</form>

   
 
 автор: SHAman   (30.10.2007 в 18:02)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:00)
 

Похоже на правду.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:07)   письмо автору
 
   для: SHAman   (30.10.2007 в 18:02)
 

Да, ребята, но пожалуйста прежде я внесу эту беду в код своего сайта, проверьте пожалуйста синтаксис вот этой вот байды, я имею ввиду, правильно ли я указал ссылку на объект-форму?????

document.co-ordination.form.xXx.value = xst;
document.co-ordination.form.yYy.value = yst;

   
 
 автор: sim5   (30.10.2007 в 18:46)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:07)
 

Не правильно. Напишите лучше так:

<script type="text/javascript"> 
function func(f){ 
   var yst=document.body.scrollTop; 
   var xst=document.body.scrollLeft; 
   f.xXx.value = xst; 
   f.yYy.value = yst; 
   return true; 

</script> 

<form name="co-ordination" action="" onsubmit="return func(this)"> 
<input name="xXx" type="hidden"> 
<input name="yYy" type="hidden">
</form>

У вас нет кнопки SUBMIT, вы хотите чтобы форма "сама" отправлялась?

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:56)   письмо автору
 
   для: sim5   (30.10.2007 в 18:46)
 

Sim5, Спасибо большое, у меня произошло "закупоривание" мозгов, я не успел задать вопрос, Вы уже дали на него исчерпывающий ответ. Большое Вам спасибо. Пойду на кухню, пропущу чашечьку классного кофа, такскзть, освежу свои мозги!))))))

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:57)   письмо автору
 
   для: sim5   (30.10.2007 в 18:46)
 

А обязательно в onsubmit="return func(this)" указывать return??

   
 
 автор: sim5   (30.10.2007 в 19:22)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:57)
 

В вашем случае нет.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:59)   письмо автору
 
   для: sim5   (30.10.2007 в 18:46)
 

И еще вопросик))): а если у меня в место кнопки submit будет кнопка type="image", вместо type="submit"? Я думаю что так тоже должно работать???

   
 
 автор: sim5   (30.10.2007 в 19:22)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:59)
 

Да.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 18:53)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:00)
 

Хорошо! Возникла другая проблема, сижу вот ломаю голову. Формы у меня эти "рисуются" циклом в php-скрипте. Поэтому name каждой формы я идентифицирую с помощью добавляемой переменной, и эту же переменную передаю js-функции для того чтобы задать правильный адрес к необходимой форме, но! Но! Как мне, ёлы-палы, прикрепить в js-функции это имя объекта-формы???:


<script type="text/javascript">
function func(id){
     document.co-ordination.form.yYy.value = yst; // - к этому ordination.form необходимо прилепить id
}
</script>

<form name="co-ordination<?echo$id;?>" action="" onsubmit="func(<?echo$id;?>)">

   
 
 автор: sim5   (30.10.2007 в 19:32)   письмо автору
 
   для: Dmitry Berkut   (30.10.2007 в 18:53)
 

document.co-ordination.form.yYy.value - неверная запись. Вы имя формы ставите впереди самого объекта формы. Да и зачем это, я ведь писал - func(this), где this и будет указывать на объект. Грубого говоря, это можно в данном случае прочитать так - "Эта форма". Более ничего не надо. В вашем случае вообще можно обойтись без функции этой, ничего она серьезного ведь не делает.

   
 
 автор: Dmitry Berkut   (30.10.2007 в 19:55)   письмо автору
 
   для: sim5   (30.10.2007 в 19:32)
 

Нет нет, уважаемый все правильно, я же говорю, к тому моменту когда я задал этот вопрос, вы уже отписали, поэтому я и говорил, что неуспев спросить, я получил исчерпывающий ответ, я сделал именно так, как Вы посоветовали мне в случае с func(this) - это по-моему, единственное рациональное и оптимальное решение. Спасибо большое, идея достигнута своего заключительного финального воплощения и применена к исполнению. Форма успешно работает. Спасибо Вам ОГРОМНОЕ!!!!! Вот уж для меня наверное это было самое страшное на том этапе, на котором я сейчас нахожусь со своим сайтом - сочетание данных формы с координатами положения экрана. Теперь все OK! Спасибо еще раз!!!

   
Rambler's Top100
вверх

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