0

あまりにも長い間、単純な .click jquery メソッドを自分の c# サイトで機能させようとしてつまずいていました。コントローラーの関数を呼び出したいだけですが、ボタンをクリックしても登録できないようです。その中の呼び出しは、正常に動作する別のコントロールの .change() 関数に非常に似ています。

問題の JQuery メソッド:

$('#addUserButton').click(function () {
            var e = document.getElementById('searchDDL');
            var itemText = e.options[e.selectedIndex].text;
            var url = encodeURI('@Url.Action("AddUser")' + "?User=" + itemText);
        });

上記の機能をトリガーするためのボタンの HTML:

<button id="addUserButton" type="button" value="addUser">&gt;</button>

私がすでに調査して試したいくつかのこと:

  • .click() メソッドから .live("click" など) メソッドに変更しても違いはありませんでした。
  • ボタンの type="submit" を設定すると問題が発生することがわかったので、"button" に変更しました。
  • 私はそれを document.ready() に含めるようにしました-他の問題を調査する前にすでにこれを行っていました。

ここで問題の jsfiddle を作成しました。多くの機密情報を削除する必要があったため、ページが完全に肉付けされていません。これは内部アプリケーション用であり、IE でのみ動作する必要があります。

編集: 以下に、コントローラーで呼び出そうとする関数を追加しています。他の投稿者は、jquery が期待どおりに機能していることを確認しているので、私の c# に関係があると思いがちです。

public ActionResult AddUser(string User)
    {
        //numUsers = App.NumberUsers + 1;
        selectedUsers.Add(User);
        return RedirectToAction("ApplicationForm");
    }
4

3 に答える 3

0

あなたのJSFiddleから.jQuery

JSFiddle の左上隅にあります。

正常に動作するフィドルを更新しました。を含めていることを忘れないでください。jQueryその機能を利用して Javascript を残すようにしてください。

于 2013-07-08T15:12:10.730 に答える