あまりにも長い間、単純な .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">></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");
}