当按钮被点击时关闭模态表单并打开一个新的模态表单
Closing Modal Form and Opening a New One When Button is Clicked
所以我正在为学校项目建立一个网站,但似乎有一些麻烦与一个部分。我有一个注册链接,以便用户可以注册成为该网站的成员。一旦注册链接被点击,一个模态表单弹出在屏幕中间,用户输入数据到特定的字段。一旦他们完成了这些,他们就会点击页面底部的"Go"提交按钮。这将触发另一个模态表单弹出,表示"感谢您注册到Dominion Luxury Cars"。在右上角有一个X,一旦他们点击它,我注意到注册模式表单仍然是打开的。我试图使它,当"去"按钮被点击注册模态表单关闭。到目前为止,Sign Up模态表单关闭的唯一方式是单击右上角的X。我也想保留这个。基本上,我希望Sign Up模态表单在点击X或点击"Go"按钮时关闭,如果点击"Go"按钮,我希望模态表单显示"感谢您注册到Dominion Luxury Cars"。
感谢任何能帮助我的人。我真的很感激。
下面是我代码的JSFIDDLE版本,由于某些原因,使用JSFIDDLE时窗体不会弹出,但是我知道代码可以工作,你可以将它发布到文本编辑中进行测试。
http://jsfiddle.net/3cjbf///HTML CODE
<li><a href="#" onClick="openSignUp()">Sign-Up</a>
</li>
<div class="modalSignUp">
<div>
<table>
<tr>
<td>
<input type="text" placeholder="First Name" />
</td>
<td>
<input type="text" placeholder="Last Name" />
</td>
</tr>
<tr>
<td>
<input type="text" placeholder="E-mail" />
</td>
<td>
<input type="text" placeholder="Phone Number" />
</td>
</tr>
<tr>
<td>
<input type="text" placeholder="Street Address" />
</td>
<td>
<input type="text" placeholder="City" />
</td>
</tr>
<tr>
<td>
<input type="text" placeholder="State" />
</td>
<td>
<input type="text" placeholder="Zip Code" />
</td>
</tr>
</table>
<div class="newsletter">
<input type="checkbox" />Subscribe to Dominion Luxury Cars News Letter?
<br />
<button type="submit" onClick="openConfirm()">Go</button> <a onclick="closeSignUp()" class="close">X</a>
</div>
</div>
</div>
<div class="modalConfirm">
<div>
<p>Thank you for registering for Dominion Luxury Cars</p> <a onclick="closeConfirm()" class="close">X</a>
</div>
</div>
// CSS CODE
/********************************************************************************************************************/
/*Designing Modal Forms*/
/********************************************************************************************************************/
#target {
opacity:1;
pointer-events: auto;
}
.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover {
background: #000000;
}
/********************************************************************************************************************/
/*Style Modal SignUp*/
/********************************************************************************************************************/
.modalSignUp {
position:fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalSignUp > div {
width: 300px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
height:250px;
}
.modalSignUp table {
margin-left:2%;
margin-top:10%;
width:100%;
}
.modalSignUp button {
float:right;
margin-right:8px;
}
.signuplogo {
margin-left:35%;
}
.newsletter {
width:285px;
height:20px;
margin-left:auto;
margin-right:auto;
font-size:10px;
}
/********************************************************************************************************************/
/*Style Modal Confirm*/
/********************************************************************************************************************/
.modalConfirm {
position:fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 99999;
opacity:0;
pointer-events: none;
}
.modalConfirm > div {
width: 300px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
height:250px;
}
.modalConfirm p {
margin-top:50px;
text-align:center;
}
//JAVASCRIPT
function openSignUp() {
document.getElementsByClassName('modalSignUp')[0].id = 'target';
}
function closeSignUp() {
document.getElementsByClassName('modalSignUp')[0].id = '';
}
function openConfirm() {
document.getElementsByClassName('modalConfirm')[0].id = 'target';
}
function closeConfirm() {
document.getElementsByClassName('modalConfirm')[0].id = '';
}
你拥有一切。您唯一需要做的就是修改Go
按钮的onclick
处理程序:
<button type="submit" onClick="openConfirm(); closeSignUp();">Go</button>
jsfiddle工作. .它没有工作,因为你有javascript设置"执行onLoad",所以你的函数被包装在一个事件处理程序,而不是全局的。
直接添加
document.getElementsByClassName('modalSignUp')[0].style.display = 'none';
到你的openConfirm()
函数
或或者添加document.getElementsByClassName('modalSignUp')[0].id = '';
,就像您在closeSignUp()
函数中一样。
或者在函数openConfirm()
中调用函数closeSignUp();
。
- 将隐藏输入类型转移到我的隐藏模态/表单
- jQuery 模态表单保存到 JavaScript 数组
- 使用 jquery ajax 从 Bootstrap 3 模态表单获取数据
- 如何使用 Reactjs 用组件的状态填充模态表单
- React-Bootstrap 模态表单条目
- Angularjs UI 模态表单
- Jquery-UI 模态表单无法正常工作
- 如何在编辑字段时将id号发送到Jquery模态表单中
- 关注引导浮动模态表单上自定义文本之后的文本区域
- AJAX responseXML为空,带有jQuery UI模态表单
- jsf-PrimeFaces如何关闭模态表单
- 如何删除jquery模态表单,并保持它作为简单的HTML表单在页面的底部
- 模态表单提交不刷新
- 如何将一个选择值传递给Angularjs的模态表单
- 数据以HTML形式在jquery中打开UI模态表单
- 使用模态表单时,AngularJS数据表不更新
- 带有多个按钮的jQuery模态表单
- JQuery UI模态表单对话框保存数据到数据库
- 在模态表单中处理服务器端验证的最佳实践
- 创建一个自定义Jquery模态表单来上传数据