Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Basil_Shine


Молчун

Зарегистрирован:
15 February 2007
Сообщения: 12
Примеры кода: 0
 

Редактирование события onclick

06 June 2008 09:04  


Есть код паредставленный ниже, он обрабаотывает нажатие на <input type="image"'/>
При нажатии он передает координаты в картинке и сохраняет их, дальше если "click" то мы открываем <div >, в соответствии с коодинатами event'а, в который заносим данные и выбираем сохранить или отменить. При сохранении форма сабмититься и все ок, но если мы отмееняем, то возникает проблема и при следующем нажатии он продолжает сабмитить форму. Первый раз все отрабатывает замечательно, но со второго раза он начинает сабмитить страницу.
Я так понимаю сохранился старый event. Или я ничего не понимаю.


var TmpOnClick; // a unique temporary variable
function clickHandler() {
// clickHandler is supposed to rewrite the x,y coordinates of the mouse click
var myButton = locateElement("map");
var newEvent = document.createEventObject();

newEvent.offsetX = myButton.offsetWidth / 2; // middle of image
newEvent.offsetY = myButton.offsetHeight / 2; // middle of image
newEvent.cancelBubble = false;
newEvent.button = 1;
myButton.onclick = window.TmpOnClick; // Replace the original click handler
myButton.fireEvent("onclick", newEvent); // Allow the original handler to take over
event.cancelBubble = true; // Cancel the on hold original event
}

function preAddPoint() {
var myButton = locateElement("map");
window.TmpOnClick = myButton.onclick;
myButton.onclick = clickHandler;
myButton.click();
modifyHidden("pointx", event.offsetX);
modifyHidden("pointy", event.offsetY);
var mode = locateElement("mode");
alert(mode.value);
if (mode.value == "click"){
var pointmenu = locateElement("pointMenu");
var pointname = locateElement("pointName");
pointmenu.style.left = event.clientX;
pointmenu.style.top = event.clientY;
pointmenu.style.visibility = "visible";
pointname.focus();
return;
}
document.forms[0].submit();
}

<input id="map" class="map" type="image" src="<%= image %>" width="<%= cxmap %>" height="<%= cymap %>" border="1" onclick="preAddPoint();return false;"/>

Наверх
  



Стандартные элементы управления

 Редактирование события onclickBasil_Shine  06 June 2008 09:04
 RE: Редактирование события onclickBasil_Shine  07 June 2008 15:21
 Редактирование события onclickZorina  06 June 2008 13:12
 RE: Редактирование события onclickBasil_Shine  06 June 2008 14:20
 RE[2]: Редактирование события onclickMervil  06 June 2008 17:37
 RE[3]: Редактирование события onclickBasil_Shine  06 June 2008 20:36
 RE[2]: Редактирование события onclickZorina  06 June 2008 17:54
 RE[3]: Редактирование события onclickMervil  06 June 2008 18:59
 RE[4]: Редактирование события onclickBasil_Shine  06 June 2008 20:40
 RE[5]: Редактирование события onclickMervil  07 June 2008 14:41
 RE: Редактирование события onclickZorina  06 June 2008 14:52
 RE[2]: Редактирование события onclickBasil_Shine  07 June 2008 09:34
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта