ASP.NET MVC 4 Web アプリケーションで SignalR との接続を確立しようとしています。私がする必要があるのは、ユーザーがテキスト領域に書き込めるようにすることです。クリックすると、ユーザーが書いたメッセージを同じページのすべてのクライアントに送信しようとしています。
私は非常に単純なステップで立ち往生しています。ユーザーがテキストエリアに書いたものを読むために、私は次のコードを使用しています:
var msg = $('#editor').text();
alert(msg);
テスト目的でアラートボックスを使用しています。問題は、警告ボックスが空である、つまりメッセージが正しく読まれていないことです。editor は、html ファイル内のテキスト領域の ID です。
これはすべての JavaScript ファイルです。
$(function ()
{
var edit = $.connection.editorHub;
edit.client.broadcastMessage = function (message) {
var msg = $('#editor').text();
alert(msg);
// Add the message to the page.
$('#editor').append(msg);
};
$.connection.hub.start().done(function () {
$('#button').click(function () {
// call the send method in EditorHub
chat.server.send($('#editor').val());
});
});
});
これは HTML ファイルです。
@{
ViewBag.Title = "- Editor";
ViewBag.ContentStyle = "/Content/CSS/editor.css";
}
<script src="/Scripts/jquery-1.6.4.min.js" ></script>
<script src="/Scripts/jquery.signalR-1.0.0.js"></script>
<script src="/signalr/hubs"></script>
<script type="text/javascript" src="~/Content/tinyMCE/tiny_mce.js" ></script>
<script type="text/javascript" src="~/Scripts/EditorHandler.js"></script>
<button id="button">Click me</button>
<form>
<textarea id="editor" name="content" cols="100" rows="30">
</textarea>
</form>
ajax を介して読み込まれるため、これがコンテンツです。残りはマスター ファイルにあります。