2017-05-13 19 views
0

コードをチェックしましたが、間違ったものは見つかりませんでした。Javascript ReferenceError:関数は定義されていませんが、

<!-- language: lang-html --> 

<div class="modal fade" id="loginModal" role="dialog"> 
    <div class="modal-dialog"> 
     <!-- Modal content--> 
     <div class="modal-content"> 
      <div id="loginHeader" class="modal-header"> 
       <h4 class="modal-title">Oops, something not right.</h4> 
      </div> 
      <div id="loginContent" class="modal-body" runat="server"> 
      </div> 
      <div id="loginButton" class="modal-footer"> 
       <button type="button" class="btn btn-warning" data-dismiss="modal">OK</button> 
      </div> 
     </div> 
    </div> 
    <button type="button" style="display: none;" id="btnShowLoginModal" data-toggle="modal" data-target="#loginModal"> 
    </button> 
</div> 
<script src="../Scripts/javascripts/jquery.js"></script> 
<script src="../Scripts/javascripts/bootstrap.min.js"></script> 
<script type="text/javascript"> 
    function ShowLoginDialog() { 
     $("#btnShowLoginModal").click(); 
    } 
</script> 

この関数は、OnClickイベントのコードビハインドから呼び出されます。まだ部分が間違っているという手掛かりはありません。

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string result = ValidateLogin(Username.Value, Password.Value); 

    if(result == MessageConstants.MessageSuccess) 
    { 
     Response.Redirect("~/Webpages/Character.aspx"); 
    } 
    else if(result == MessageConstants.MessageFail) 
    { 
     ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "ShowLoginDialog()", true); 
    } 
    else 
    { 
     ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "ShowLoginDialog()", true); 

    } 
} 

要素インスペクタからのエラー enter image description here

+0

どこから呼び出されていますか? [mcve]を提供してください – charlietfl

+1

どこでこの機能を使用していますか? – Alfabravo

+0

あなたはその関数をどこで呼びますか? –

答えて

1

RegisterStartupScript()Webフォーム(</form>タグの前右)の最後にスクリプトブロックを発します。 source

しかし、あなたのモーダルコードとその後にShowLoginDialog関数が定義されています。その</form>タグをモーダルの後ろに移動してみてください。

+1

ありがとうございます!スクリプトを

タグに移動すると実際に動作します。 – BernardWong

0

document.ready()機能でコードを入れてください:headブロックに

$(document).ready(function() { 
    function ShowLoginDialog() { 
     $("#btnShowLoginModal").click(); 
    } 
}); 
+0

hmm私はそれを試しましたが、運はありません – BernardWong

+0

その関数を呼び出すと、ページの読み込み時やイベントが発生しますか? –

+0

@SKJajoriya実際にその関数を呼び出すOnClickイベント – BernardWong

0

移動

<script src="../Scripts/javascripts/jquery.js"></script> 
<script src="../Scripts/javascripts/bootstrap.min.js"></script> 
<script type="text/javascript"> 
    function ShowLoginDialog() { 
     $("#btnShowLoginModal").click(); 
    } 
</script> 

。そして、あなたはそれがこのようになりますようにShowLoginDialog機能を変更する必要があります。

function ShowLoginDialog() { 
    $(function() { 
     $("#btnShowLoginModal").click(); 
    }); 
} 
関連する問題