Вопрос по js+form (переменные)
Я вообще не знаю js, так что извините если вопрос совсем ламмерский.
Скачал один скринт - форму на js, где есть такая переменная <span id="title"></span> - отображает заголовок формы, в низу есть сама форма, и мне нужно заголовок этой формы передать как переменную типа: <input name="title" type="hidden" value="title" size=30> вот в этом и проблема. Что писать в value=""? Ясно что не value="<span id='title'></span>" :) Подскажите пожалуйста как преобразовать эту переменную чтобы она встала в value нормально. |
|
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"> |
и соответсвенно пример выше не сработал :(
|
window.onload = function () { document.getElementById('myform').value = document.getElementById('title').innerHTML; } Так сработает. Если id у Вас уникальные (они должны быть уникальными). Name не требуется, т.к. мы ищем элемент по id. Можно искать и по name. |
Цитата:
|
ну вы не сказали как отправляете данные, если простым сабмит, то да, в input поставьте name и ловите $_POST['title'] или $_GET['title']
|
хм. так странно.. переменная оказывается пустой всё равно. <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> не хочет.. |
document.getElementById('title').innerHTML Вам показывает что между тегами <span id="title"></span>.
|
<span id="title"></span> - получается так что не показывает. При этом при распечатке <span id="title"></span> переменная есть!
Что это может быть? |
Часовой пояс GMT +3, время: 19:58. |