Отображать сообщение в jQuery только один раз, когда я отправляю - PullRequest
1 голос
/ 21 октября 2011

Когда я отправляю свою форму, я отображаю сообщение в 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;
});

Пример: http://jsfiddle.net/bUS8e/

Ответы [ 6 ]

3 голосов
/ 21 октября 2011

Просто удалите все существующие span s в форме: http://jsfiddle.net/pimvdb/bUS8e/1/.

$('form span').remove();

Обратите внимание, что это также удалит любые другие, не относящиеся к делу span s, которые вы, возможно, не хотите удалять.В этом случае вы можете добавить класс к сообщению span s, которое вы добавляете, и использовать $('form span.message').remove();, чтобы удалить только те сообщения span s.

2 голосов
/ 21 октября 2011

Удалить все промежутки, когда пользователь отправляет форму.Затем добавьте их снова (при необходимости):

Как это

2 голосов
/ 21 октября 2011

Проверить, содержит ли $('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;
});
1 голос
/ 21 октября 2011

Добавьте div (или любой другой элемент) к вашей форме и используйте $('div').html([YOUR STUFF]) вместо $('form').append([YOUR STUFF]).

1 голос
/ 21 октября 2011

Вы можете добавить span к коду HTML и присвоить ему идентификатор.И вместо добавления нового span каждый раз, вы просто повторно используете существующий, обращаясь к нему через его ID.

0 голосов
/ 21 октября 2011

Вы должны очистить родительский элемент до:

$('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;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...