Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сабмит и динамический HTML, данные вставляемые в DIV не сабмитятся 
V
    Опции темы
Darksquall
  Дата 19.7.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Такой вопрос, есть код заменяющий динамически по событию, DIV в теле HTML на <input...>, но несмотря на то что DIV находится в форме Form question при сабмите этот input не передается, хотя его можно увидить например так 
document.all.punkt подскажите как мне его запихнуть в форму или же передать в принимающий файл после сабмита?

Код

<script language="JavaScript" type="text/javascript">

function atransp_form()
{
if (document.all.vidtranspjd.value=="контейнер")
    {
    document.all.resultat17.innerHTML='<input name="punkt" type="text" SIZE="40" MAXLENGTH="150">';
    }
}

function check_form()
{
 if (document.all.vidtranspjd.value=="контейнер")
    {
      if (document.all.punkt.value != "")
        {K=0;}
        else
        {K=1;}
    }

  if (document.all.vidtranspjd.value=="контейнер" && K==1)
    {
       alert ("Заполните обязательные поля!");
       return false;
    }
    else
    {document.question.submit();}
  
}
</script>




--------------------
PM WWW ICQ   Вверх
SelenIT
Дата 19.7.2007, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(Darksquall @  19.7.2007,  20:04 Найти цитируемый пост)
...несмотря на то что DIV находится в форме Form question...


Darksquall, это Вы сами предположили или Вам браузер сказал (например, путем alert(document.forms['имя_формы'].innerHTML);)?

Скорее всего, у Вас где-то некорректная верстка - например, <form> между <tr> и чем-то (как во времена 4-го "нетшкафа") или что-нибудь в этом роде. Из-за этого в DOM-дереве форма может оказаться закрыта не там, где </form>, а где-то раньше...

И document.all - немодно и (в общем случае) некроссбраузерно. Стандартный вариант - document.getElementById.

Это сообщение отредактировал(а) SelenIT - 19.7.2007, 20:16


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Darksquall
Дата 19.7.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



С  разметкой все нормально, я имел вииду DIV внутри тегов формы, но сам input в форме не показывается почемуто, может его как то нужно специально туда добавлять?

вот пример со SPAN
Код

<script language="JavaScript" type="text/javascript">
function atransp_form()
{
if (document.all.vidtranspjd.value=="контейнер")
    {
    document.all.rt17.innerHTML='<input name="punkt" type="text" SIZE="40" MAXLENGTH="150">';
    }
}
</script>

<form action="index.php" name="question" method="post">
<table>
  <tr>
        <td><SPAN id=rt17></SPAN></td>
  </tr>
</table>
</form>


вот punkt даже нет в строке браузера если передавать через GET


Это сообщение отредактировал(а) Darksquall - 19.7.2007, 23:20


--------------------
PM WWW ICQ   Вверх
SelenIT
Дата 19.7.2007, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Darksquall, у меня добавленное Вашей функцией поле нормально передается, и GET-ом, и POST-ом, и в FF2, и в IE6...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Darksquall
Дата 19.7.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



SelenIT, можете код показать? может у меня что с браузером.


--------------------
PM WWW ICQ   Вверх
SelenIT
Дата 20.7.2007, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Darksquall, код практически Ваш:
Код

<script language="JavaScript" type="text/javascript">
function atransp_form()
{
if (true)
    {
    document.all.rt17.innerHTML='<input id="i1" name="punkt" type="text" SIZE="40" MAXLENGTH="150">';
    }
}
</script>
<button onclick="atransp_form()">Добавить поле</button>
<form action="info.php" name="question" method="post">
<table>
  <tr>
        <td><SPAN id=rt17></SPAN></td>
  </tr>
</table>
<input type="submit">
</form>

Нажимаю кнопку, ввожу данные, жму Submit - все есть. В info.php проверяю переменные:
Код

<? phpinfo(32); ?>



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Darksquall
Дата 20.7.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Спасибо, сделал код минимальным и нашел ошибку, тот что я привел действительно работает, а тот что в оригинале слишком большой и у меня <form> оказался внутри таблицы. 


--------------------
PM WWW ICQ   Вверх
melnikaite
Дата 23.7.2007, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.7.2007

Репутация: нет
Всего: нет



у меня похожая проблема
есть одно поле file
вызывая addline()  добавляется еще поле
по сабмиту ничего не отправляется и при добавлении нового поля file очищаются старые заполненые поля
как я понял из форумов это одна проблема и связана с корректностью верстки (например форма внутри таблицы, но у меня нет таблиц)
как же сделать что бы значения заполненных полей сохранялись?
Код

<body onLoad=addline();>
<form name=forma action=upload.php method=post enctype='multipart/form-data'>Send these files:<br>
<input type=submit value=отправить><br><span id=name>
<input type=hidden name=count value=-1></span>
</form>
</body>
<script language=javascript>
function addline()
{
    c=++document.getElementById('count').value;

    obj='userfile'+c+'';

    input='<input name='+obj+' type=file> <a onClick=addline()>+</a><br>';

    s=document.getElementById('name').innerHTML;

    document.getElementById('name').innerHTML=s+input;
    
    return false;
}
</script>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.