HTML5输入表单在提交并隐藏后重新出现
HTML5 Input Form Reappears after Submit and Hide
当用户在我的表单中输入一些文本并单击按钮时,我想隐藏表单并向用户显示"谢谢"消息,让他们知道我收到了他们的文本。
顺便说一句,这是为了嵌入到Chrome扩展弹出窗口中。
这是我的:
<!doctype html>
<html>
<head>
<title>Extension</title>
<style>
body {
min-width:200px;
min-height:75px;
overflow-x:hidden;
}
img {
margin:5px;
border:2px solid black;
vertical-align:middle;
width:75px;
height:75px;
}
.visible{
display:block;
}
.invisible{
display: none;
}
</style>
<script>
var PopupController = function () {
this.button_ = document.getElementById('button');
this.form_ = document.getElementById('userIdForm');
this.userId_ = document.getElementsByName('userID')[0];
this.submitThanks_ = document.getElementById('submitThanks');
this.addListeners_();
};
PopupController.prototype = {
button_: null,
form_: null,
userId_: null,
submitThanks_: null,
addListeners_: function () {
this.button_.addEventListener('click', this.handleClick_.bind(this));
},
handleClick_: function () {
console.log("Submit button clicked");
var userId = this.userId_.value;
// Hide the form
this.form_.classList.add('invisible');
this.submitThanks_.classList.remove('invisible');
}
};
</script>
</head>
<body onload="window.controller = new PopupController()">
<h2 class="invisible" id="submitThanks">Thanks!</h2>
<div id="userIdForm">
<form>
<input type="text" name="userID" placeholder="User ID" required/>
<button id="button" type="submit">Submit</button>
</form>
</div>
</body>
</html>
问题是,单击该按钮后,表单会重新出现。我注意到,当我在输入字段中输入required属性时,功能会略有变化。
我正在使用最新版本的Chrome for Mac。
这是因为您的按钮是一个"提交"按钮。因此,当你点击它时,它会执行它的标准行为,即提交表单。它会发出HTTP请求,然后刷新你的页面。如果您不希望发生这种情况,只需将按钮类型更改为"按钮"即可。
表单正在重新加载,因为页面正在重新加载。请尝试从提交中返回false。
<button id="button" type="submit" onclick="return false;">Submit</button>
编辑
啊,很抱歉。所以页面没有重新加载?
也许可以试试这个:
handleClick_: function () {
console.log("Submit button clicked");
var userId = this.userId_.value;
// Hide the form
this.form_.className = "invisible";
this.submitThanks_.className = "visible";
相关文章:
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 在新路由器上使用订阅函数时出现Angular 2 typescript错误(rc 1)
- 使用Jquery.click显示/隐藏切换,适用于新用户,但不适用于种子
- 使一个新元素在某个时间出现
- 导致出现新内容块的标记(谷歌地图)
- 使用javascript函数检索隐藏的文本值时出现对象HTMLinputElement错误
- 追加新web组件时出现线程问题
- jQuery隐藏函数出现问题
- Photoshop Javascript-试图创建新的文本层时出现语法错误
- 将PHP/MMySQL转移到新的Web服务器,所有链接都会出现标签
- 当我单击添加新按钮(WORDPRESS,PHP)时,我需要在表格中隐藏
- 当按下按钮时,隐藏复选框会出现(正确),但不会'再次按下时t消失
- 当按下第二个按钮时如何隐藏按钮,以及当我点击页面的空白区域时如何使其出现
- 显示和隐藏动态出现的文本的Div
- 使用新值更新时出现数组问题
- 每当我按下输入框内的键盘输入按钮(其中有文本)时,都会出现新的段落
- jquery幻灯片切换:隐藏+新链接
- 隐藏标记出现后缩放- API谷歌地图V3
- 如何隐藏新版本的fanybox默认的标题?
- 我可以应用.on()与jquery . hide()来隐藏新添加的内容吗?