Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.08.2009, 10:01
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

Вопрос по js+form (переменные)
Я вообще не знаю js, так что извините если вопрос совсем ламмерский.

Скачал один скринт - форму на js, где есть такая переменная <span id="title"></span> - отображает заголовок формы, в низу есть сама форма, и мне нужно заголовок этой формы передать как переменную типа:

<input name="title" type="hidden" value="title" size=30> вот в этом и проблема. Что писать в value=""? Ясно что не value="<span id='title'></span>" Подскажите пожалуйста как преобразовать эту переменную чтобы она встала в value нормально.
Ответить с цитированием
  #2 (permalink)  
Старый 19.08.2009, 10:11
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

http://javascript.ru/tutorial/dom/search#poisk-po-id
Ответить с цитированием
  #3 (permalink)  
Старый 19.08.2009, 10:19
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

twolf, спасибо! Мне на это на одном форуме ответили: "DOM Не работает, пока не загрузится все html дерево, поэтому на страницу нужно вешать обработчик, который после загрузки вставляет текст в форму. "
Что сие означает я не понял, но собственно на этом все и закончилось...
я говорю что в js ничего не понимаю, поэтому если не сложно, объясните где именно ошибка. Мне подсказывали примерно так:

<html>

<script type="text/javascript">
window.onload = (function () {

return function () {
document.getElementById('myform').value = document.getElementById('title').innerHTML;
}

})()
</script>

<body>
<span id="title">mytitle</span>
<input type="text" id="myform">

я не понял, почему у <input type="text" id="myform"> нет name="title"?? Ведь именно задача в том, чтобы передать переменную из <span id="title">mytitle</span> чрез <input type="hidden" name="title" id="myform">
Ответить с цитированием
  #4 (permalink)  
Старый 19.08.2009, 10:20
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

и соответсвенно пример выше не сработал
Ответить с цитированием
  #5 (permalink)  
Старый 19.08.2009, 10:37
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

window.onload = function () {
document.getElementById('myform').value = document.getElementById('title').innerHTML;
}

Так сработает. Если id у Вас уникальные (они должны быть уникальными).
Name не требуется, т.к. мы ищем элемент по id. Можно искать и по name.
Ответить с цитированием
  #6 (permalink)  
Старый 19.08.2009, 10:58
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

Сообщение от twolf Посмотреть сообщение
window.onload = function () {
document.getElementById('myform').value = document.getElementById('title').innerHTML;
}

Так сработает. Если id у Вас уникальные (они должны быть уникальными).
Name не требуется, т.к. мы ищем элемент по id. Можно искать и по name.
Далее форма должна отправить эту переменную в php. Сделал всё так как вы написали - id myform уникальная. Прописал в пхп конечно echo $myform; в итоге пусто - не схватилась переменная
Ответить с цитированием
  #7 (permalink)  
Старый 19.08.2009, 11:05
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

ну вы не сказали как отправляете данные, если простым сабмит, то да, в input поставьте name и ловите $_POST['title'] или $_GET['title']
Ответить с цитированием
  #8 (permalink)  
Старый 19.08.2009, 11:32
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

хм. так странно.. переменная оказывается пустой всё равно. <span id="title"></span> при открытии в обычном html высвечивает переменную, но window.onload = function () {
document.getElementById('myform').value = document.getElementById('title').innerHTML; -здесь она как бы уже пустая. Я попробовал сунуть сюда другую переменную - из <div id="formbox" align="center">, т.е. formbox - переменная заработала при передачи, а которая из <span id="title"></span> не хочет..
Ответить с цитированием
  #9 (permalink)  
Старый 19.08.2009, 12:33
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

document.getElementById('title').innerHTML Вам показывает что между тегами <span id="title"></span>.
Ответить с цитированием
  #10 (permalink)  
Старый 19.08.2009, 12:39
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

<span id="title"></span> - получается так что не показывает. При этом при распечатке <span id="title"></span> переменная есть!
Что это может быть?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 15:29
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 10:35
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 11:33
переменные и ссылки на переменные scuter Общие вопросы Javascript 6 31.08.2008 00:24
Вопрос к гуру. Title через js. Не выводит title из тега <TR> shkur Элементы интерфейса 24 19.06.2008 08:03