Прерывание выполняемого события
Добрый день!
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. Другими словами, чтобы я мог прервать(недопустить) транзакцию на сервер. ЗЫ... надеюсь что не очень криво описал проблему:) Большое спасибо за помощь. |
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> |
хм. Насколько я понимаю отправка происходит не стандартными функциями браузера, а скрипром, сформированным из атрибута actionListener. (функция iceSubmitPartial(form,this,event);)
Тоесть, если я правильно представляю это ajax технология. если на <form> я делаю событие onsubmit="" оно вообще не происходит. Возможно есть какието варианты в моей функции jsFunction() остановить прервать обработку текущего события. (тоесть по <a onclick="... у меня вначале вызывается моя функция jsFunction(), а потом сформированная сервером iceSubmitPartial(form,this,event); и если бы внутри своего метода я смог бы прервать обработку onclick-a, я бы смог предотвратить отправку инфы на сервер) Спасибо. |
lorrin,
Тяжко вникать в понятия - либо выложите ссылку на тестовик, с Вашими попытками, ну или попытайтесь изобразить тут необходимый кусок HTML с Вашим скриптом |
Часовой пояс GMT +3, время: 17:15. |