У меня есть jquery + плагин Boxy + форма ввода беспорядка.
Вот такая ситуация:
1 - когда я нажимаю на ссылку, во всплывающем окне появляется форма, содержащая только текстовый ввод и кнопку отправки.
2- Когда я пишу какой-то текст и нажимаю кнопку отправки, я получаю значение ввода текста в js var и отправляю его с помощью ajax в функцию PHP, которая выполняет операцию и возвращает результат.
3 - я получаю результат, и всплывающее окно закрывается. Все хорошо.
Моя проблема начинается, когда я хочу повторить операцию. Когда я щелкаю ссылку на шаге 1, чтобы отобразить форму, ввод текста в форме все еще имеет первое значение операции. Я думал, что это должна быть новая форма, но она, кажется, все еще первая. Я не знаю, как обновить значение ввода текста.
Вот мой код: (все еще в стадии разработки)
<script type="text/javascript">
$(document).ready(function() {
var myForm = '<div><form action="" method="">';
myForm += 'New gallery name <input type="text" name="galleryName" /><br />';
myForm += '<input type="button" name="create" value="create" />';
myForm += '</form></div>';
var littleWindow = null;
$('#new_gallery').click(function(){
littleWindow = new Boxy(myForm,
{
type:'POST',
modal:true,
closeable:true,
title:'some title',
behaviours: function(c) {
c.find('input[name="create"]').click(function(){
var newGalleryName = $('input[name="galleryName"]').val();
if(newGalleryName.length < 3)
{
Boxy.alert('Please, write a name for your gallery');
} else {
alert(newGalleryName);//To check its value. It doesn´t refresh!
$.post('photos/new_gallery/'+newGalleryName,function(data){
if(data=='error')
{
Boxy.alert('ERROR',function(){littleWindow.hide()});
} else {
Boxy.alert('the gallery with ID '+data+' has been created',function(){
littleWindow.hide(function(){
var newGalleryDiv = '<div class="gallery" title="'+data+'"><h3>'+newGalleryName+'</h3></div>';
$('#galleries').append(newGalleryDiv);
});
});
}//else #2
});
}//else #1
});
}//behaviours
});
});
});
</script>
Почему во второй раз я делаю $ ('# new_gallery'). Click (function () {... У меня нет новой новой формы?
Может кто-нибудь дать мне свет? Заранее спасибо.
EDIT
Я опубликовал видео на Youtube, чтобы показать вам мою проблему:
http://www.youtube.com/watch?v=fNftwwVXvYc (рекомендуется 1080)
В видео код и сеть на испанском языке. Я перевел это здесь, в StackOverflow.