我有一个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(){...我没有新的新表格?
有人可以给我一个灯吗?提前谢谢。
修改
我在Youtube上发布了一个视频,向您展示我的问题:
http://www.youtube.com/watch?v=fNftwwVXvYc(推荐1080) 在视频中,代码和网络都是西班牙语。我已在StackOverflow中将其翻译过来。
答案 0 :(得分:0)
$('input[name="galleryName"]').val("");
或
$('input[name="galleryName"]').attr("value","");
在脚本末尾使用它,这将清除表单输入
修改强>
你尝试过这样的事吗//BEFORE
$('#galleries').append(newGalleryDiv);
//AFTER
$('#galleries').append(newGalleryDiv).find('input[name="galleryName"]').attr("value","");
答案 1 :(得分:0)
Ara你混合PHP和JavaScript吗? JavaScript中没有.=
运算符。您可能想要使用+=