jQuery拒绝在validation后发布

我在我的jQuery代码中添加了一些validation,以便在发布消息之前检查空白文本字段,但它似乎不起作用。 我的墙上根本没有留言。 知道如何解决这个问题吗?

HTML

 

jQuery的

 jQuery(function ($) { var socket = io.connect(); var $messageForm = $('#sendmessage'); var $messageTitle = $('#title'); var $messageBox = $('#message'); var $chat = $('#chat'); $messageForm.click(function () { if ($.trim($("#title").val()).length === 0) { alert('You must provide valid input'); $messageTitle.val(''); $messageBox.val(''); return false; } if ($.trim($("#message").val()).length === 0) { alert('You must provide valid input'); $messageTitle.val(''); $messageBox.val(''); return false; } else { e.preventDefault(); socket.emit('send message', '' + $messageTitle.val() + '' + ' - ' + $messageBox.val()); $messageTitle.val(''); $messageBox.val(''); } socket.on('new message', function (data) { $chat.prepend(data + "
"); }); }); });

您的点击function没有传入事件“e”,因此当您调用“e.preventDefault()”时会停止此操作。

我做了这个jsfiddle – 没有套接字支持 – 但它确实警告我的消息。 http://jsfiddle.net/4v2QT/

这是唯一的变化(传入函数的e)

 $messageForm.click(function (e) { ... code goes here! }