2016-02-03 3 views
0

Добрый день. новичок здесь ... мой код работает. Моя проблема в том, что после нажатия кнопки дважды или больше, чем текст предупреждения снова не отображается. Что я хочу сделать, так это отобразить текст, если я нажму кнопку один раз или много раз без обновления страницы .. вот мой код ...отображает предупреждение при нажатии кнопки в javascript и ajax

сценария

<script type="text/javascript"> 
// Ajax post 
$(document).ready(function() { 
$(".submit").click(function() { 

var message = $("textarea#l_message").val(); 

jQuery.ajax({ 
type: "POST", 
url: "<?php echo base_url(); ?>" + "admin/user_data_submit", 
dataType: 'json', 
data: {l_message: message}, 
success: function(res) { 
if (res) 
{ 
    // Show Entered Value 
jQuery("div#msg").show(); 
jQuery("div#msg").html('Update Successfully!'); 
window.setTimeout(function() { 
    $("#msg").fadeTo(1000, 0).slideUp(1000, function(){ 
     $(this).remove(); 
    }); 
}, 5000); 
} else { 
} 
} 
}); 
    return false; 
}); 
}); 

</script> 

моей формы

<?php echo form_open(); 
       echo form_label('Librarians Message'); 
       ?> 
       <textarea class="form-control" name="the_librarian" id="l_message"> </textarea> 

       <?php echo form_submit('submit', 'Update',"class='btn btn-success navbar-btn submit'");?> 
       <?php echo form_close();?> 

<div id="msg" style="color: green;"> 
</div> 

предупредительного сообщение будет закрыто после 5сок затем после этого, если я снова нажму кнопку, предупреждение не появится. Я хочу показать это сообщение еще раз, я нажимаю кнопку несколько раз ... извините за грамматику, ...

Помогите решить эту проблему.

ответ

1

Линия

$ (это) .remove();

удаляет весь #msg div из DOM, поэтому его больше не нужно показывать. Вы можете использовать

$ (this) .hide();

вместо этого.

Кроме того, непрозрачность остается на 0, так что изменить:.

JQuery ("DIV # сбщ") скрыть();

в

JQuery ("DIV # сбщ") скрыть() CSS ('непрозрачность', '1')..;

+0

спасибо за ответ, сэр Джон, но даже я меняю это на $ (this) .hide(); не отображается снова после второго нажатия кнопки ... –

+0

Похоже, что .slideUp() меняет положение #msg div. Возможно, вам придется переместить элемент в исходное положение после hide(), чтобы он был доступен для повторного отображения в его предполагаемом месте. EDIT: Нет, это не так. Он не должен сохранять свое новое положение после слайд-шоу() –

+0

, как это сделать сэром Джоном? Я новичок в javascript, и я не знаю, как это сделать. –

Смежные вопросы