Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблема с изменением ячейки

Сообщения:  [1-4] 

 
 автор: mishin.sa   (30.11.2007 в 18:21)   письмо автору
 
   для: mishin.sa   (30.11.2007 в 18:21)
 

Видимо одновременно ответили )))
Выше почти то, что я хотел донести....

   
 
 автор: mishin.sa   (30.11.2007 в 18:21)   письмо автору
 
   для: Poul   (30.11.2007 в 10:26)
 

Ну попробуй сделать.. если в ячейки элемент input то return.. и ничего дальше происходить не будет

   
 
 автор: RMW   (30.11.2007 в 17:39)   письмо автору
 
   для: Poul   (30.11.2007 в 10:26)
 


document.getElementById("input_"+input_name).onclick = function(e){e = e||event;e.stopPropagation?e.stopPropagation():e.cancelBubble=true}

   
 
 автор: Poul   (30.11.2007 в 10:26)   письмо автору
 
 

есть таблица

    <tr height=18>
        <td class=linekontr width=110>
            <table width=100% cellspacing=0 cellPadding=0 align=center valign=bottom border=0 bgcolor=#FFFFFF bordercolor=#626262>
            <tr height=18>
                <td onClick="javascript:contactData('edit','name',1)" id="name1">
                    name1
                </td>
            </tr>
            </table>
        </td>
        <td class=linekontr width=110>
            <table width=100% cellspacing=0 cellPadding=0 align=center valign=bottom border=0 bgcolor=#FFFFFF bordercolor=#626262>
            <tr height=18>
                <td onClick="javascript:contactData('edit','surname',1)" id="surname1">
                    surname1
                </td>
            </tr>
            </table>
        </td>

нажатие на ячейки onClick обрабатывается кодом

<script language="JavaScript"> 
function contactData(type,input_name,id_contact) {
        input_name1 = "'"+input_name+"'"; type = "'"+type+"'";
        var text = '<input type="text" id="input_'+input_name+'"  maxlength="50" style="width:'+document.getElementById(input_name+id_contact).offsetWidth+'px; height:18px; FONT-SIZE:11px; COLOR: #000000; text-align:right" onBlur="javascript:saveContact('+type+','+input_name1+','+id_contact+')" onkeypress="return enterNumber(event,'+type+','+input_name1+','+id_contact+')" value="'+document.getElementById(input_name+id_contact).innerHTML+'">';    
        document.getElementById(input_name+id_contact).innerHTML = text;
        document.getElementById("input_"+input_name).focus();
}

коротко опишу: этот код в ячейку на которой произошло нажатие кнопки, помощает поле ввода input типа text с содержимым самой ячейки, то есть если в ячейке был текст "name" то у поля ввода value="name", и фокус отдает этому полю.
все срабатывает правильно, но если случайно нажать мышкой в поле ввода, то опять срабатывает событие onClick, этой ячейки и в нее загружается уже содержимое ячейки innerHTML то есть поле ввода, тем самым у меня получается что value="<input type=text...>", то есть тэг в тэге, и он выдает просто бред какой-то...
на данный момент пришло в голову только убрать innerHTML и передавать содержимое ячейки как дополнительный параметр к функции, но может у кого есть идеи как заблокировать повторное срабатывание onClick?

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования