Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2012, 16:02
Новичок на форуме
Отправить личное сообщение для lorrin Посмотреть профиль Найти все сообщения от lorrin
 
Регистрация: 04.06.2012
Сообщений: 4

Прерывание выполняемого события
Добрый день!
Javascript начал осваивать совсем недавно, так что не судите строго
У меня вот какой вопрос. есть JSP элемент commandLink, который имеет атрибут actionListener и событие onclick
<jsp:commandLink id="cl1" actionListener="JavaBean.method1" onclick="jsFunction();"/>
Если посмотреть как это быдет выглядеть на стороне клиента, получается
<a onfocus="setFocus(this.id);" onclick="jsFunction();var form=formOf(this);form['form1:_idcl'].value='form1:cl1';return iceSubmitPartial(form,this,event);" onblur="setFocus('');" id="form1:cl1" href="javascript:;" class="iceCmdLnklinkAdd">Добавить</a>

я хочу сделать, чтобы моя функция (jsFunction() могла прервать выполнение onclick. Другими словами, чтобы я мог прервать(недопустить) транзакцию на сервер.

ЗЫ... надеюсь что не очень криво описал проблему
Большое спасибо за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2012, 16:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

lorrin,

Перед отправкой формы делаете проверку на флаг, выставляемый Вашей jsFunction - если флаг не true, запрещаете отправку

<script type="text/javascript">
var Flag=false; //? Флаг отправки
function process_form(the_form) {
 if(!Flag) return false;
 //Тут могут быть еще проверки
 return true;
}
</script>
<form id="post" class="container" method="post" action="/test.php" onsubmit="this.submit.disabled=true;if(process_form(this)){return true;}else{this.submit.disabled=false;return false;}" enctype="multipart/form-data">
  ...
  ...

</form>
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2012, 15:48
Новичок на форуме
Отправить личное сообщение для lorrin Посмотреть профиль Найти все сообщения от lorrin
 
Регистрация: 04.06.2012
Сообщений: 4

хм. Насколько я понимаю отправка происходит не стандартными функциями браузера, а скрипром, сформированным из атрибута actionListener. (функция iceSubmitPartial(form,this,event)
Тоесть, если я правильно представляю это ajax технология.
если на <form> я делаю событие onsubmit="" оно вообще не происходит.

Возможно есть какието варианты в моей функции jsFunction() остановить прервать обработку текущего события. (тоесть по <a onclick="... у меня вначале вызывается моя функция jsFunction(), а потом сформированная сервером iceSubmitPartial(form,this,event); и если бы внутри своего метода я смог бы прервать обработку onclick-a, я бы смог предотвратить отправку инфы на сервер)
Спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2012, 15:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

lorrin,
Тяжко вникать в понятия - либо выложите ссылку на тестовик, с Вашими попытками, ну или попытайтесь изобразить тут необходимый кусок HTML с Вашим скриптом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54
Прерывание события на границе двух блоков miller Events/DOM/Window 0 25.06.2010 20:58
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16