簡體   English   中英

嘗試調用JavaScript函數時如何解決未捕獲的引用錯誤

[英]How to resolve Uncaught reference error when attempting to call a JavaScript function

我有一個C#MVC Web應用程序,並試圖組織我的Java腳本。 由於從視圖中移動了下面的JavaScript並將其添加到文件夾中,因此在FireFox中進行調試時,我一直收到“ Uncaught reference error AddArtist”。 當網頁中包含腳本時,腳本運行良好。

我引用jQuery和腳本為:

<head>
     <script src="/Scripts/jquery-lib/jquery-1.10.2.js"></script>
     <script src="/Scripts/AddArtist.js"></script>
</head>

然后是以下腳本:

(function() {

      $(function() {
        var AddArtist;
        return AddArtist = function() {
          var addDiv, artistVal;
          addDiv = $("#artistname");
          artistVal = $("#artistinput").val();
          $(" <div id=\"artistname2\"><label>" + artistVal + "</label></div>").appendTo(addDiv);
          return false;
        };
      });

    }).call(this);

* 這是我的HTML: *

                                    <div id="artist"class="form-group">
                                        @Html.LabelFor(m => m.Artists, new { @class = "col-lg-2 control-label" })
                                        <div class="container">
                                            @Html.TextBoxFor(m => m.Artists, new { placeholder = "Artist name",@class="form-control", id="artistinput"})  
                                            <img onclick="AddArtist()" id="plusartist" src="\Content\bootstrap\img\plus-button.png" class="img-thumbnail"/>
                                            @Html.ValidationMessageFor(m => m.Artists)
                                        </div>


                                        @*<button id="plusartist" onclick="AddArtist()">Test</button>*@

                                    </div>
                                    <div id="artistname"><label></label></div>

在腳本中,不會導出AddArtist函數。 我不確定創建AddArtist函數最時尚的方式是什么,但這可能會起作用:

var AddArtist= function() {
      var addDiv, artistVal;
      addDiv = $("#artistname");
      artistVal = $("#artistinput").val();
      $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo(addDiv);
      return false;
    };

只是添加到加法器答案

(function() {      
    this.AddArtist = function() {
        alert("called here");
      var addDiv, artistVal;
      addDiv = $("#artistname");
      artistVal = $("#artistinput").val();
      $(" <div id=\"artistname2\"><label>" + artistVal + "</label></div>").appendTo(addDiv);
      return false;
    };
}).call(this);

AddArtist();

可以

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM