[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как связать php с javascript при отправке формы
program90
Здравствуйте,
у меня есть форма, мне надо сразу после начала ajax-отправки данных из нее какимто образом получить данные(текст) из tinymce-редактора(который прикручен к текстовому окну формы) и присвоить этот текст переменной объекта form, который передается после сабмита в php-модуль.
tinymce редактор - это javascript-код. И я знаю как после нажатия сабмита формы извлечь данные из окна этого редактора. Но это можно сделать только javascript-кодом. А сам заполненный объект формы, который передается на обработку php-модулю - этот объект является объектом-php. И поэтому я не понимаю(вернее не знаю) как можно передать данные от кода на javascript коду на php.
Сначала я подумал записать с помощью javascript данные из редактора в некую teaxtarea на странице. А потом извлечь оттуда php-кодом этот текст. Но не могу никак найти как на языке php можно работать с полями страницы, т.е. как извлечь например данные из поля. Можно ли это вообще как-то сделать? (я еще не очень разбираюсь в php и javascripte).
Если нет то как решить проблему которую я описал в начале поста?



Спустя 40 минут, 17 секунд (17.06.2009 - 00:20) FatCat написал(а):
Цитата (program90 @ 17.06.2009 - 00:40)
не могу никак найти как на языке php можно работать с полями страницы, т.е. как извлечь например данные из поля

$_POST['имя_поля']

Спустя 10 часов, 47 минут, 43 секунды (17.06.2009 - 11:08) program90 написал(а):
А этим можно пользоваться только после сабмита формы в пхп-файл.
А мне нужно извлечь текст не из сформированного запроса, а просто из поля на странице.

Спустя 4 минуты, 27 секунд (17.06.2009 - 11:13) stepan написал(а):
Цитата (program90 @ 17.06.2009 - 08:08)
а просто из поля на странице

по конкретней из какого поля?

Спустя 8 минут, 33 секунды (17.06.2009 - 11:21) program90 написал(а):
из поля textarea которое находится внутри формы.
Дело в том что на это поле надстроен редактор tinymce. И когда я печатаю в него текст и нажимаю сабмит, параметр Текст - пустой. Т.е. этот редактор почемуто не отдает текст из поля. Но тем не менее напечатанный текст хранится в обекте редактора.
Поэтому я хочу сразу после сабмита достать текст из объекта редактора и присвоить его полю Текст объекта формы, который передается в пхм-модуль.
Но редактор - это javascript. а объект формы который передается в модуль - это пхп.
И я не знаю как передать этот текст. Но мне кажется что можно записать его сразу после запроса пустую текстарию формы и тут же извлечь оттуда текст с помощью пхп. Но пхп вроде так устроен что им нельзя просто так взять и извлечь текст из поля, как это делает джаваскрипт через document.

Спустя 1 минута, 12 секунд (17.06.2009 - 11:22) glock18 написал(а):
Код
alert(document.forms.myform.myfield.value);

myform - имя формы
myfield - имя поля
или
Код
alert(document.getElementById(myfieldId).value);


myfieldId - id этого поля

Спустя 2 минуты, 20 секунд (17.06.2009 - 11:25) glock18 написал(а):
Цитата
Т.е. этот редактор почемуто не отдает текст из поля

отдает. и должен.

собственно, я не понял НИЧЕГО что идет после этого предложения.

Спустя 14 минут, 4 секунды (17.06.2009 - 11:39) program90 написал(а):
Вот что получается

Fatal error: Call to undefined function alert()
Notice: Use of undefined constant document - assumed 'document'
Notice: Use of undefined constant forms - assumed 'forms'
Notice: Use of undefined constant textform - assumed 'textform'


Про то что идет после того предложения: это сложно наверное объяснить на словах. Но я еще раз попробую объяснить. Редактор тини во время загрузки страницы оказывается поверх текстарии формы. И когда я пишу текст в форму то этот текст остается в редакторе. А в простую текстарию форму, которая под редактором- текст не попадает.
Так вот когда я делаю сабмит - редактор почемуто не передает текст в сформированный запрос. И поэтому в пхп-модуле - параметр "Текст поста" - пуст. Вот в чем дело.
Но редактор не просто зажимает у себя текст. А он сохраняет его в свою переменную. Так что когда я делаю следующий сабмит, то это редактор подставляет значение переменной в запрос. И получается что после второго сабмита - пхп-модулю передает текст первого сабмита.
Вроде я все понятно объяснил.

Спустя 9 минут, 9 секунд (17.06.2009 - 11:48) glock18 написал(а):
Цитата (program90 @ 17.06.2009 - 08:39)
Вот что получается

Fatal error: Call to undefined function alert()
Notice: Use of undefined constant document - assumed 'document'
Notice: Use of undefined constant forms - assumed 'forms'
Notice: Use of undefined constant textform - assumed 'textform'


Ээээ... Слов нет. Учите Javascript. Это он, собсно. Незачем это вставлять в php.

Цитата
Но редактор не просто зажимает у себя текст. А он сохраняет его в свою переменную. Так что когда я делаю следующий сабмит


Что значит "делаю следующий сабмит"? После сабмита ваша страница перезагрузится. После первого сабмита. Для того, чтобы засабмитить форму во-второй раз, вам нужно вновь набрать текст, и тини, поверьте, нигде уже не хранит текст набранный вами ранее.

Вот что я могу предположить из сказанного вами:
1. Вы сохраняете данные передаваемые из редактора. Вероятно, в базе данных.
2. По всей видимости, на этой же странице вы пытаетесь их просматривать.
3. Поскольку вы видите изменения лишь после повторного обновления страницы (читай "второй сабмит"), навязывается одна мысль - неверная логика сохранения.

Какая она должна быть:
1. Сохранил.
2. Получил данные.
3. Вывел.

У вас, вероятно:
1. Получил данные.
2. Сохранил.
3. Вывел.

Так как данные еще не сохранены, они и не выводятся при первом обновлении страницы (читай "первый сабмит").

Это собственно все, что я могу сказать на основании такого вот описания проблемы.

Спустя 24 минуты, 23 секунды (17.06.2009 - 12:12) program90 написал(а):
К сожалению вы ничего не поняли из того что я сказал...

Я пользуюсь ajax'ом. Поэтому страница не перегружается

И потом меня интересует как извлечь данные из поля используя язык php а не javascript...

Спустя 10 минут, 41 секунда (17.06.2009 - 12:23) glock18 написал(а):
Цитата (program90 @ 17.06.2009 - 09:12)
К сожалению вы ничего не поняли из того что я сказал!

К сожалению, вы так объяснили smile.gif

Цитата (program90 @ 17.06.2009 - 09:12)
Я пользуюсь ajax'ом. Поэтому страница НЕ ПЕРЕГРУЖАЕТСЯ!!

Тогда форма не сабмитится. Если на то пошло, вы передаете параметром это поле ввода в пхп?

Цитата (program90 @ 17.06.2009 - 09:12)
А во-вторых меня интересует как извлечь данные из поля используя ЯЗЫК PHP!! а не javascript!!!!

У меня к сожалению с примерами туго сегодня. Просто усвойте, что получить значение html-поля из php нельзя.
Как получить поле пришедшее вместе с запросом в качестве параметра GET или POST смотрите пост FatCat'а в самом начале.

А чтобы его можно было получить из POST'а читайте на цитату выше.

Спустя 15 минут, 17 секунд (17.06.2009 - 12:38) program90 написал(а):
Ясно....((
А как тогда быть?
Может быть можно к php-объекту обратиться из javascript? Т.е. преобразовать какнибудь объект напрмер subject (php-объект) в объект javascipt'a - например jsubject.
А насчет ajax'a - я пользуюсь специальной ajax'овой формой. Т.е. сам ничего не пишу на javascript'e касательно ajax.

Спустя 24 минуты, 22 секунды (17.06.2009 - 13:03) glock18 написал(а):
Цитата (program90 @ 17.06.2009 - 09:38)
Может быть можно к php-объекту обратиться из javascript?

тоже нельзя. в явной форме нельзя. неявных форм сколько хочешь придумать можно. Только:

Тебе нужно просто передавать аяксом содержимое поля. Не знаю что еще посоветовать, если с этим проблемы возникают. Остальные решения, наверняка, сложнее будут.

Спустя 8 минут, 5 секунд (17.06.2009 - 13:11) sergeiss написал(а):
Цитата (program90 @ 17.06.2009 - 13:38)
Может быть можно к php-объекту обратиться из javascript?

Похоже, тут наблюдается большой пробел в понимании сути процессов...

ПХП-объект существует только на сервере во время формирования страницы. Когда эта страница отдана пользователю и он видит ее, то никакого "ПХП-объекта" уже не существует. А есть только HTML-страница со своими объектами.
И вот уже к ним можно обратиться посредством ДжаваСкрипт.

Спустя 44 минуты, 38 секунд (17.06.2009 - 13:55) glock18 написал(а):
Цитата (sergeiss @ 17.06.2009 - 10:11)
Похоже, тут наблюдается большой пробел в понимании сути процессов...


Да, это и раньше наблюдалось

Цитата
А во-вторых меня интересует как извлечь данные из поля используя ЯЗЫК PHP!! а не javascript!!!!


Спасибо, sergeiss. Мне иногда трудно заставить себя объяснить прописную истину smile.gif

Спустя 3 часа, 46 минут, 31 секунда (17.06.2009 - 17:42) program90 написал(а):
Мдя(((( похоже мне никак этого не сделать....
Жаль что никто не может толково помочь....(

Спустя 9 минут, 19 секунд (17.06.2009 - 17:51) sergeiss написал(а):
Цитата (program90 @ 17.06.2009 - 18:42)
Жаль что никто не может толково помочь....(

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

Спустя 1 час, 49 минут, 31 секунда (17.06.2009 - 19:41) program90 написал(а):
....
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.