Jquery 为什么';添加<;表格>;标签?
我有一个简单的表单,在打开和关闭时显示动画:Jquery 为什么';添加<;表格>;标签?,jquery,Jquery,我有一个简单的表单,在打开和关闭时显示动画: <html><head><style type="text/css"> #contactFormContainer { width:300px; margin-top:15px; } #contactForm { margin
<html><head><style type="text/css">
#contactFormContainer
{
width:300px;
margin-top:15px;
}
#contactForm
{
margin-top:15px;
width:300px;
border:solid 1px #4d3a24;
display:none;
}
#contactForm fieldset
{
padding:20px;
border:none;
}
#contactForm label
{
display:block;
}
#contactForm input[type=text]
{
display:block;
border:solid 1px #4d3a24;
width:100%;
margin-bottom:10px;
height:24px;
}
#contactForm textarea
{
display:block;
border:solid 1px #4d3a24;
width:100%;
margin-bottom:10px;
}
#contactForm input[type=submit]
{
background-color:#4d3a24;
border:solid 1px #23150c;
color:#FFFFFF;
padding:5px;
cursor:pointer;
float: right;
}
#contactLink
{
height:15px;
width:218px;
background-image:url('../images/signup.png');
cursor:pointer;
}
#messageSent
{
color:#bc0d1b;
display:none;
}
</style>
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#contactLink").click(function(){
if ($("#contactForm").is(":hidden")){
$("#contactForm").slideDown("slow");
}else{
$("#contactForm").slideUp("slow");
}
});
});
function closeForm(){
$("#messageSent").show("slow");
setTimeout('$("#messageSent").hide();$("#contactForm").slideUp("slow")', 2000);
}
</script>
</head><body>
<div id="contactFormContainer">
<div id="contactLink"></div>
<div id="contactForm">
<form action="test2.php" enctype="multipart/form-data" method="post">
<fieldset>
<label for="name">Name *</label>
<input id="name" type="text" name="name" />
<label for="email">Email address *</label>
<input id="email" type="text" name="email" />
<input id="sendMail" type="submit" name="signupSubmit" />
<span id="messageSent"></span>
</fieldset>
</form>
</div>
</div>
</body>
</html>
#contactFormContainer
{
宽度:300px;
边缘顶部:15px;
}
#联系方式
{
边缘顶部:15px;
宽度:300px;
边框:实心1px#4d3a24;
显示:无;
}
#contactForm字段集
{
填充:20px;
边界:无;
}
#contactForm标签
{
显示:块;
}
#contactForm输入[类型=文本]
{
显示:块;
边框:实心1px#4d3a24;
宽度:100%;
边缘底部:10px;
高度:24px;
}
#ContactFormTextArea
{
显示:块;
边框:实心1px#4d3a24;
宽度:100%;
边缘底部:10px;
}
#contactForm输入[类型=提交]
{
背景色:#4d3a24;
边框:实心1px#23150c;
颜色:#FFFFFF;
填充物:5px;
光标:指针;
浮动:对;
}
#contactLink
{
高度:15px;
宽度:218px;
背景图像:url('../images/signup.png');
光标:指针;
}
#信息发送
{
颜色:#bc0d1b;
显示:无;
}
$(文档).ready(函数(){
$(“#contactLink”)。单击(函数(){
如果($(“#contactForm”)。是(“:隐藏”)){
$(“#contactForm”)。向下滑动(“慢速”);
}否则{
$(“#contactForm”).slideUp(“slow”);
}
});
});
函数closeForm(){
$(“#messageSent”).show(“slow”);
setTimeout(“$”(“#messageSent”).hide();$(“#contactForm”).slideUp(“slow”)”,2000);
}
名字*
电子邮件地址*
问题是,如果我在第一个字段集上方添加
,然后关闭表单。。。我的结束动画不再工作
TL;DR
标签,这样我就可以处理帖子了为什么,我如何修复它?当您有一个表单时,按钮按下会转换为表单提交,而不是onclick。您需要拦截表单提交事件,如下所示:
$("form").submit(function(event) { do animation here } )
Freenode的#jquery频道中的coldhead给出了以下回答: