2012-01-06 6 views
1

これも可能かどうかはわかりませんが、可能であれば素晴らしいと思っています。Javascriptを中止して他の機能が呼び出されないようにする

基本的に私はonclickとのリンクを持ち、onclickには2つの呼び出しがあります。 1つは関数に、もう1つは_doPostBackに渡します。

と呼ばれる最初の関数は、単純な関数である:アラートを確認ありえないチェックボックスが発生し、ページを提出していないのであれば、基本的

function CheckTerms() { 

    if (!document.Form.agreetoterms.checked) { 
     alert("Please check the terms and conditions."); 
     return false; 
    } 
     return true; 
} 

。チェックされている場合、それは送信されます。現在チェックされていなくても、アラートを表示してdoPostBackを実行し、ページを送信します。 doPostBackはリンクに動的に入れられ、私はそれにアクセスすることができません。それは私にとってより困難になりました。だから、それを打ち切るためのアイディアや方法はないのですか?

ありがとうございます!

+1

しかし、あなたは 'CheckTerms'と' doPostBack'の両方を呼び出す関数を変更することができますか?その場合は、 'if(!CheckTerms()){return false;}'を挿入します。 –

答えて

2

私は_doPostback関数は、フォームの投稿を扱うと仮定している、そしてそれはあなたがクリックしたときアンカーはそのhrefの場所にページを移動する必要はありませんpreventDefaultこれを行うには、クリックしたときにアンカーのデフォルトアクションが実行されないようにします。

var a = document.getElementById("yourAnchorId"); 
a.onclick = function(e){ 
    e.preventDefault(); 

    if (CheckTerms()) 
     _doPostBack(); 
} 
0

なぜあなたは次の操作を行うことはできません。

function CheckTerms() { 

    if (!document.Form.agreetoterms.checked) { 
     alert("Please check the terms and conditions."); 
     return false; 
    } 
    else{ 
     <<< call you function here >>> 
    } 
     return true; 
} 
関連する問題