当我提交表单时,我在jQuery中显示一条消息。
我希望在我多次提交时只出现一次
$('form').submit(function(){
if ($('#title').val() != '' && $('#comment').val() != '')
$('form').append($('<span>').text('Bug sent').delay(4000).fadeOut(600));
else
$('form').append($('<span>').text('Fields are empty').delay(4000).fadeOut(600));
return false;
});
答案 0 :(得分:3)
只需删除表单中的所有现有span
:http://jsfiddle.net/pimvdb/bUS8e/1/。
$('form span').remove();
请注意,这也会删除您可能不想删除的任何其他不相关的span
。在这种情况下,您可以向添加的邮件span
添加一个类,并使用$('form span.message').remove();
以便只删除那些邮件span
。
答案 1 :(得分:2)
检查$('form').text()
是否包含“已发送错误”?
即。
$('form').submit(function(){
if ($('#title').val() != '' && $('#comment').val() != '')
if (!/Bug sent/.test($('form').text()) {
$('form').append($('<span>').text('Bug sent').delay(4000).fadeOut(600));
}
else
$('form').append($('<span>').text('Fields are empty').delay(4000).fadeOut(600));
return false;
});
答案 2 :(得分:2)
用户提交表单时删除所有跨度。然后再次添加它们(如有必要):
答案 3 :(得分:1)
您可以将span
添加到HTML代码中并为其指定ID。而不是每次都附加一个新的span
,而只是通过其ID来重用现有的{{1}}。
答案 4 :(得分:1)
在表单中添加div
(或任何其他元素)并使用$('div').html([YOUR STUFF])
代替$('form').append([YOUR STUFF])
。
答案 5 :(得分:0)
您应该在以下之前清除父元素:
$('form').submit(function(){
if ($('#title').val() != '' && $('#comment').val() != '')
$('form').empty().append($('<span>').text('Bug sent').delay(4000).fadeOut(600));
else
$('form').empty().append($('<span>').text('Fields are empty').delay(4000).fadeOut(600));
return false;
});