|
|
|
|
|
для: mishin.sa
(30.11.2007 в 18:21)
| | Видимо одновременно ответили )))
Выше почти то, что я хотел донести.... | |
|
|
|
|
|
|
|
для: Poul
(30.11.2007 в 10:26)
| | Ну попробуй сделать.. если в ячейки элемент input то return.. и ничего дальше происходить не будет | |
|
|
|
|
|
|
|
для: Poul
(30.11.2007 в 10:26)
| |
document.getElementById("input_"+input_name).onclick = function(e){e = e||event;e.stopPropagation?e.stopPropagation():e.cancelBubble=true}
|
| |
|
|
|
|
|
|
| есть таблица
<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? | |
|
|
|
|