1

C# MVC Web アプリケーションがあり、Java スクリプトを整理しようとしています。以下の JavaScript をビューから移動してフォルダーに追加してから、FireFox でのデバッグ中に「Uncaught reference error AddArtist」が発生し続けます。スクリプトが Web ページに含まれている場合、スクリプトは正常に機能しました。

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

Addersの回答に追加するだけ

(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 に答える
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 に答える