1

我有一个 C# MVC Web 应用程序并试图组织我的 java 脚本。由于从视图中移动下面的 JavaScript 并将其添加到文件夹中,我在 FireFox 中调试时不断收到“未捕获的引用错误 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>
4

2 回答 2

0

在您的脚本中,不会导出 AddArtist 函数。我不确定创建 AddArtist 函数最时尚的方式是什么,但这可能会奏效:

var AddArtist= function() {
      var addDiv, artistVal;
      addDiv = $("#artistname");
      artistVal = $("#artistinput").val();
      $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo(addDiv);
      return false;
    };
于 2013-08-23T20:55:15.160 回答
0

只是为了添加到加法器答案

(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();

有效

于 2013-08-23T21:12:51.017 回答