【发布时间】:2019-07-16 19:41:17
【问题描述】:
我的网站上有一个 HTML 表单。当我填写并单击提交时,我的操作端点工作正常。我想用它做以下事情。点击提交时:
- 将表单数据发布到操作端点
- 用按钮覆盖感谢消息,或者只是几秒钟后消失的消息
- 一旦覆盖消失,我希望清除表单但用户返回到同一页面。
我的基本表单如下所示:
<form method="post" action="https://mywebsite.com/formdata">
<div class="fields">
<div class="field half">
<input type="text" name="name" id="name" placeholder="Name" />
</div>
<div class="field half">
<input type="email" name="email" id="email" placeholder="Email" />
</div>
<div class="field">
<textarea name="message" id="message" placeholder="Message"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" value="Send" class="primary" /></li>
</ul>
我尝试通过添加一些在线指南中的叠加代码来修改代码,如下所示:
<form method="post" action="https://mywebsite.com/formdata">
<div class="fields">
<div class="field half">
<input type="text" name="name" id="name" placeholder="Name" />
</div>
<div class="field half">
<input type="email" name="email" id="email" placeholder="Email" />
</div>
<div class="field">
<textarea name="message" id="message" placeholder="Message"></textarea>
</div>
</div>
<ul class="actions">
<li><input class="trigger_popup_fricc" type="submit" value="Send" class="primary" /></li>
</ul>
<div class="hover_bkgr_fricc">
<span class="helper"></span>
<div>
<div class="popupCloseButton">X</div>
<p>Add any HTML content<br />inside the popup box!</p>
</div>
</div>
添加了在提交按钮上添加的类及其下方的悬停弹出 div。然后添加的CSS是:
/* Popup box BEGIN */
.hover_bkgr_fricc{
background:rgba(0,0,0,.4);
cursor:pointer;
display:none;
height:100%;
position:fixed;
text-align:center;
top:0;
width:100%;
z-index:10000;
}
.hover_bkgr_fricc .helper{
display:inline-block;
height:100%;
vertical-align:middle;
}
.hover_bkgr_fricc > div {
background-color: #fff;
box-shadow: 10px 10px 60px #555;
display: inline-block;
height: auto;
max-width: 551px;
min-height: 100px;
vertical-align: middle;
width: 60%;
position: relative;
border-radius: 8px;
padding: 15px 5%;
}
.popupCloseButton {
background-color: #fff;
border: 3px solid #999;
border-radius: 50px;
cursor: pointer;
display: inline-block;
font-family: arial;
font-weight: bold;
position: absolute;
top: -20px;
right: -20px;
font-size: 25px;
line-height: 30px;
width: 30px;
height: 30px;
text-align: center;
}
.popupCloseButton:hover {
background-color: #ccc;
}
.trigger_popup_fricc {
cursor: pointer;
font-size: 20px;
margin: 20px;
display: inline-block;
font-weight: bold;
}
/* Popup box BEGIN */
添加的javascript是:
$(window).load(function () {
$(".trigger_popup_fricc").click(function(){
$('.hover_bkgr_fricc').show();
});
$('.hover_bkgr_fricc').click(function(){
$('.hover_bkgr_fricc').hide();
});
$('.popupCloseButton').click(function(){
$('.hover_bkgr_fricc').hide();
});
});
但它不起作用。没有弹出窗口。任何关于如何完成我想做的任务的指导将不胜感激。
【问题讨论】:
-
当您提交表单时,您实际上是在离开页面。当前页面停止执行,除非您使用 JavaScript 通过 XHR 提交。
标签: javascript jquery html css forms