Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с формой в сложной таблице 
V
    Опции темы
Onis
Дата 16.7.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый вечер Винград. 
Опять я со своими проблемами.

Вот есть таблица:

Код

<table bgcolor='black' valign='top' border='0' cellspacing=1 width='282' cellpadding=0>
<tr><td>
<table border='0' cellspacing=1 cellpadding=1 ><tr bgcolor='white'>
<td width='22px' align='center'>X</td>
<td width='200px' align='center'>Full Name</td>
<td width='60px' align='center'><span class='form'>Information</span></td>
</tr></table></td></tr>
<tr bgcolor='white'><td><form method='POST' action=''><div style='height:25em;overflow:auto;'>
<table width='100%' border='0' cellspacing=1 cellpadding=0 bgcolor='black'>";
                
for(i=0;i<fname.length;i=i+1)
{
<tr id=\"Contact$row->id\" bgcolor='white' OnmouseOver=\"this.style.background = 'silver'\" OnMouseOut=\"this.style.background = 'white'\">
<td width='22px'><input type='checkbox' name='DeleteContact["+i+"]' value='"+id[i].firstChild.data+"'></td>
<td width='200px' class='cur' title='Edit Contact' onclick='EditContact("+id[i].firstChild.data+")'>"+fname[i].firstChild.data+" "+lname[i].firstChild.data+"</td>
<td width='60px' align='center'><span class='cur' title='Personal Information' onclick='ShowUserInformation("+id[i].firstChild.data+")' >[SHOW]</span></td></tr>        
}

</table></div></td></tr>";
<tr bgcolor='white'><td align='right'><input type='submit' name='DeleteThisContacts' value='Delete'/></form>
<input type='submit' name='AddNewContact' value='Add' onClick='AddContact()'/>
</td></tr></table>


Нужно чтобы при нажатии <input type='submit' name='DeleteThisContacts' value='Delete'/> отправлялисть пост данные checkbox'сов. Но при таком построении нифига не отсылается, при нажатии на кнопку никакой реакции, а в firefox при таком расположении "</form>" вообще вся структура рушится.  smile 



Это сообщение отредактировал(а) Onis - 16.7.2008, 19:33
PM MAIL   Вверх
bars80080
Дата 16.7.2008, 20:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



не фигасе у тебя код!

это каким макаром элементы js кода переплелись с чистым html?

здесь стопудово ошибка 
Код
for(i=0;i<fname.length;i=i+1)
{
<tr id=


дальше, каким образом кнопка оказалась за гранью формы? как она узнает какую форму ты хочешь отправить?

ну и обычная ошибка: тэги <form> не должны разрушать вёрстку, 
если у тебя есть таблица, то форма может быть либо снаружи неё (<form><table> ... </table></form>), либо внутри ячейки (<td><form> ... </form></td>), но никак не в состоянии винегрета. это ж ни в какие стандарты не лезет!
PM MAIL WWW   Вверх
Fortop
Дата 16.7.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Onis, 
Сколько у тебя таблиц в верстке?
Сколько открывающих тегов, а сколько закрывающих?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Onis
Дата 16.7.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(bars80080 @  16.7.2008,  20:04 Найти цитируемый пост)
здесь стопудово ошибка 

да, это я поправил, оно осталось с не динмического движка когда страница генерировалась php.

Цитата(bars80080 @  16.7.2008,  20:04 Найти цитируемый пост)
дальше, каким образом кнопка оказалась за гранью формы?

Ну это кнопка за гранью т.к. она не должна на нее никак влият, по ее клику выполняется отдельная javascript команда. Думаю правильней ее в <button> будет переделать.

Цитата(bars80080 @  16.7.2008,  20:04 Найти цитируемый пост)
это каким макаром элементы js кода переплелись с чистым html?

Эта таблица момент из JS скрипта который парсит получиные .responseXML данные.

Вот он полностью, если нужно:

Код

function RequestContactList() 
{
    switch (httpRequest.readyState)
    {
        case 0:
            document.getElementById(resultId).innerHTML = "<center>not initialized</center>";
        break;
        case 1:
            document.getElementById(resultId).innerHTML = "<center>loading...</center>";
        break;
        case 2:
            document.getElementById(resultId).innerHTML = "<center>load</center>";
        break;
        case 3:
            document.getElementById(resultId).innerHTML = "<center>in process...</center>";
        break;
        case 4:
            var fname = httpRequest.responseXML.getElementsByTagName('fname');
            var lname = httpRequest.responseXML.getElementsByTagName('lname');
            var id = httpRequest.responseXML.getElementsByTagName('id');
            var Content = "";

            Content+="<table bgcolor='black' valign='top' border='0' cellspacing=1 width='282' cellpadding=0>";
            Content+="<tr><td>";
            Content+="<table border=\"0\" cellspacing=1 cellpadding=1 ><tr bgcolor=\"white\">";
            Content+="<td width=\"22px\" align='center'>X</td>";
            Content+="<td width=\"200px\" align='center'>Full Name</td>";
            Content+="<td width=\"60px\" align='center'><span class='form'>Information</span></td>";
            Content+="</tr></table></td></tr>";
            Content+="<tr bgcolor='white'><td><form method='POST' action=''><div style=\"height:25em;overflow:auto;\">";
            Content+="<table id='maintab' width='100%' border='0' cellspacing='1' cellpadding='0' bgcolor='black'>";
                
            for(i=0;i<fname.length;i=i+1)
            {
                Content+="<tr id='row"+id[i].firstChild.data+"' bgcolor='white' >";
                Content+="<td width='22px'><input type='checkbox' name='DeleteContact["+i+"]' value='"+id[i].firstChild.data+"'></td>";
                Content+="<td width='200px' class='cur' title='Edit Contact' onclick='EditContact("+id[i].firstChild.data+")'>"+fname[i].firstChild.data+" "+lname[i].firstChild.data+"</td>";
                Content+="<td width='60px' align='center'><span class='cur' title='Personal Information' onclick=\"ShowUserInformation("+id[i].firstChild.data+");\" >[<u>SHOW</u>]</span></td></tr>";
            
            }
            Content+="</table></div></form></td></tr>";
            Content+="<tr bgcolor='white'><td align='right'><input type='submit' name='DeleteThisContacts' value='Delete'/>";
            Content+="<input type='submit' name='AddNewContact' value='Add' onClick='AddContact()'/>";
            Content+="</td></tr></table>";
            
            document.getElementById(resultId).innerHTML=Content;
            
        break;
    }
}


Цитата(bars80080 @  16.7.2008,  20:04 Найти цитируемый пост)
это ж ни в какие стандарты не лезет!


просто время жмет и мозги кипят, пардон, исправлюсь.



Цитата(Fortop @  16.7.2008,  20:05 Найти цитируемый пост)
Сколько у тебя таблиц в верстке?

В данной таблице три: шапка, тело в диве с скролл баром, и та которая содержит их все.

Вставляется она сюда:

Код

<span class='title'>Contacts List</span>
<script language='javascript'>
            function AddContact()
            {
                window.open("forms/add_contact.php", 'add', config='height=700px,width=500px')
                self.name='main_window'
            }
            function EditContact(id)
            {
                window.open("forms/edit_contact.php?id="+id+"", 'add', config='height=700px,width=500px')
                self.name='main_window'
            }
                        
         </SCRIPT>
<table border='0' width='850px'>
<tr>

<td width='100px'>
<? $show->ShowAlpabet();?>
</td>

<td width='350px' valign='top' id='ContactsList'>
<!--ТАБЛИЦА-->
</td>

<td valign='top' align='center' width='290px'>
<div id="UserInfo" style='text-align:left; border: 1px solid black;height:452px; width: 400px;overflow: auto;'>&nbsp;</div>
</td></tr>
</table>





Это сообщение отредактировал(а) Onis - 16.7.2008, 20:55
PM MAIL   Вверх
Onis
Дата 16.7.2008, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


 




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


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

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