2012-04-27 6 views
0

Вот моя ссылка со встроенным JSJavascript - Как я остановить выполнение

<a style="padding: 5px;" onclick="confirm_message(); $('contact_693_').show(); $('errors_693_').hide(); this.hide(); $('dont_693_').show();; return false;" id="the_link_693_" href="#" class="add_someone_else">Check it out</a> 

А вот моя функция

function confirm_message(){ 
     var response = confirm("Are you sure?"); 
    if(response){ 
     return false; 
    }else{ 
      return false; 
     } 
} 

В принципе я не хочу любой другой JS, если стрелять пользователь не нажимает «нет» в подтверждении .... но все остальные javascript

$('contact_693_').show(); $('errors_693_').hide(); this.hide(); $('dont_693_').show();; return false;" 

все еще срабатывает, нажимает ли пользователь «да» или «нет» Подтверждать ... любые идеи о том, как это исправить ....

Также это внедренные JS не был создан мной и построен на странице с рубином ...

+0

Вы можете разместить код рубин, который производит это? Это Rails? – andrewdotnich

+0

yes ... one sec .. – Trace

ответ

3

Throw ошибку, как это :

function confirm_message(){ 
    var response = confirm("Are you sure?"); 
    if(response){ 
     return false; 
    }else{ 
     throw new Error("Chuck Norris roundhouse kicked your JS, sorry."); // or something a little more descriptive 
    } 
} 

Это некрасиво, но это должно остановить все будущие JS от обработки.

+0

как бы сбросить ошибку, помогите пользователю .... я просто хочу, чтобы ящик закрывался, а другие js не срабатывали. – Trace

+2

@Matt: Бросание ошибки приведет к тому, что все остальные Javascript на странице перестанут исполняться. Это включает в себя «другие js». –

+0

ahh ... не думал об этом ... спасибо – Trace

2

Включите свой код в функции подтверждающим:

function confirm_then_execute(){  
    var response = confirm("Are you sure?");  
    if(response){ 
     $('contact_693_').show(); $('errors_693_').hide();this.hide(); $('dont_693_').show();return false;" 
    } 
    else{  
     return false;  
    } 
} 

HTML:

<a style="padding: 5px;" onclick="confirm_then_execute()" id="the_link_693_" href="#" class="add_someone_else">Check it out</a>     
+0

Я не могу это сделать, потому что у меня нет этих идентификаторов и классов на уровне js – Trace

+0

Как насчет передачи идентификаторов в качестве аргументов: confirm_then_execute (id1, id2)? – Christophe

+0

, который может быть чистым способом – Trace