2016-10-31 11 views
0

私はボタンをクリックするとファンクション1を呼び出し、別のファンクション2を呼び出します。 function2が条件を満たしていれば、それはfalseを返してそこで消滅しますが、function1の残りの部分が実行され、フォームが送信されます。私はJavaScriptに新しいです。関数1で私は「返品偽」を持っていますが、

<input type="button" value="Submit" onclick="function1()" /> 

function function1() { 
    function2(); 
    //execute rest of function 
} 

function2() { 
var this; 
var that; 
if(!this || !that) { 
alert("You did not fill out fields on the form under Tab1"); 
return false; //I thought it was supposed to stop here 
} 
} 
+0

申し訳ありませんが、実際のコード次のようになります。 JackSki

答えて

1

あなたは機能2を呼び出すとき、あなたは2を返す偽機能場合はfunction1を停止したい場合、あなたはそのような機能1内側に停止する必要があります:ボタンの

function function1() { 
    // If function2 returns false, then stop function1 
    if (!function2()) return; 
    //execute rest of function 
} 

function2() { 
    var this; 
    var that; 
    if(!this || !that) { 
    alert("You did not fill out fields on the form under Tab1"); 
    return false; //I thought it was supposed to stop here 
    } 
} 
+0

+1、@ Jayce444に同意します。 'false'をすべて返すまでフォームは送信されます。 function1に 'false'を返すだけなら、そこから処理する必要があります。 – freginold

+0

Jayce444、私はそれを試みました(if function2())return;何も起こっていません。それはデータをコミットしたことはありません – JackSki

+0

私はこれを試して、これはうまくいきました:if(function2()== false){return false; }しかし、私はそれを働かせることができる場合、あなたの方法は短く思われる – JackSki

関連する問題