ユーザーが sendMessage ボタンをクリックした後、検証に合格した場合 (つまり、フィールドにデフォルト値が含まれていないか空である場合) にのみメインのチャット コードを実行するにはどうすればよいですか?
現在、メインのチャット コードは、検証が成功したかどうかに関係なく実行されます。
// main chat code
$(function () {
var IWannaChat = $.connection.myChatHub;
IWannaChat.client.addMessage = function (message) {
$('#listMessages').append('<li>' + message + '</li>');
};
$("#sendMessage").click(function () {
IWannaChat.server.send($('#ideaBody').val());
});
$.connection.hub.start();
});
// handling default values and validation
$(function () {
$('#ideaTitle, #ideaBody').each(function () {
$.data(this, 'default', this.value);
}).focus(function () {
if (!$.data(this, 'edited')) {
this.value = "";
}
}).change(function () {
$.data(this, 'edited', this.value != "");
}).blur(function () {
if (!$.data(this, 'edited')) {
this.value = $.data(this, 'default');
}
});
$('#sendMessage').click(function () {
$('#ideaTitle,#ideaBody').each(function () {
if ($.trim($(this).val()).length === 0) {
alert('empty');
return false;
}
if ($.trim($(this).val()) === $(this).data('default')) {
alert('default');
return false;
}
})
});
});