【发布时间】:2013-09-19 04:10:44
【问题描述】:
我有一个表单,它有一个输入元素,用户可以在其中输入 url - 当他单击编辑按钮时会发生这种情况,此时输入字段会出现。
如果用户开始输入 url 并单击取消按钮,他输入的内容将变为 null,并且输入字段再次从视图中隐藏(一个类被添加到具有 display:none 的元素)。
这就是问题所在: 如果用户键入内容并单击保存按钮,则数据(url)将通过 ajax 请求发送到服务器。这意味着下次加载表单时,用户将看到提交的 url。如果此时选择编辑表单,然后按下取消按钮,提交的 url 将从视图中隐藏……这当然是不可取的,因为我们在这里谈论的是提交的数据。
如何区分一个和另一个,提交的数据和未提交的数据取消。
这里有一些代码,首先与单击取消按钮有关,其次与将类添加到输入元素的函数有关:
$('#canceladrs').click(function() {
var urlcancel=$.trim($('input#wwwaddress').val());
save=2;
close_url(save,urlcancel);
closeaddress();
});
here is the close_url() function
function close_url(savearg,urlarg,cancelarg)
{
console.log(urlarg);
if(savearg===1)// save button clicking here
{ if(urlarg==='')
{
$('input#wwwaddress').addClass('hideurl');
$('label[for=url]').addClass('hideurl');
$('input#wwwaddress').val(null);
}
else if(urlarg!=='')
{
$('input#wwwaddress').removeClass('hideurl');
$('label[for=url]').removeClass('hideurl');
$('input#wwwaddress').val(urlarg);
}
}
else if(savearg===2)//cancel button clicking here
{if((urlarg!=='')||(urlarg===''))
{
$('input#wwwaddress').addClass('hideurl');
$('label[for=url]').addClass('hideurl');
}
}
}
}
正如您在上面看到的,我试图标记单击取消按钮设置 save=2。
【问题讨论】:
-
我不太明白这个问题。您能否澄清一下您何时以及为什么要隐藏和/或展示事物?此外 jQuery 已经有
hide和fadeOut你不必为此创建自己的类。 -
当该字段为空或用户开始输入内容时,我会隐藏该字段,此时他按下了取消按钮。我不希望元素在以下情况下隐藏:输入字段将提交的数据作为值提交给数据库,用户单击编辑按钮编辑字段,然后单击取消按钮,停止编辑表单...在后者案例我不想隐藏它,因为它必须不断显示提交的数据。
标签: javascript jquery ajax forms