如何使必填字段在有效时不可见
How to make a required field be invisible if valid?
我有这种html:
<form method="post" action="register">
<input type="text" name="name" required />
<button>Next</button>
</form>
当我单击"下一步"按钮时,我想隐藏"名称"字段,但前提是它是有效的(不是空的),并且我不想提交表单。如何使用纯JavaScript来做到这一点?
如果你知道使用jQuery的方法,请也写出来。谢谢
试试这个:
$('button').click(function() {
var check = $('#name').val();
if (check == '') {
$('#name').hide();
}
})
如果输入没有内容,它将被隐藏。
document.querySelector('form').addEventListener('submit', function (e) {
e.preventDefault();
var input = e.target.firstElementChild;
if(!input.validity.valueMissing) {
input.style.display = 'none';
}
}, false);
<form method="post" action="register">
<input type="text" name="name" required />
<button>Next</button>
</form>
假设您将为按钮的ID更改"form button",并为输入的ID更改"form input"。jQuery代码应该是这样的:
$("form button").click(function() {
if ($("form input").val() != "")
$("form input").hide();
});
试试这个:
<form method="post" action="register">
<div id="steps1">
<input id="txtname" type="text" placeholder="enter name here" name="name" />
<input id="btnNext" type="button" value="next" />
</div>
<div id="complete" style="display:none;">
<input type="text" name="age" placeholder="enter age here" />
<input type="submit" value="submit" />
</div>
</form>
$(document).ready(function () {
$("#btnNext").click(function () {
if ($("#txtname").val() != "") {
$("#steps1").hide();
$("#complete").show();
}
});
});
在jQuery中:
$("button").click(function() {
if ($('input[name=name]').val() != '') {
$('input[name=name]').fadeOut(); // Or hide, or css('display', 'none')
}
});
Make class e.g."validate",您可以在单击"下一步"后将其附加到表单中。
然后在CSS中:
.validate input:valid {
display: none;
}
尝试onsubmit
事件:
var validate = function(form) {
var toSubmit = true;
if (form.name.value) { //has some text
form.name.style.display = "none"; //hide the input field
} else {
toSubmit = false;
}
return toSubmit;
};
<form method="post" action="register" onsubmit='return validate(this);'>
<input type="text" name="name" required />
<button>Next</button>
</form>
编辑
尝试blur
事件:
var validate = function(box) {
if (!box.value) {
alert('This field is required');
box.focus();
}
};
<form method="post" action="register">
<input type="text" name="name" onblur='validate(this);' />
<button>Next</button>
</form>
阅读这些内容以了解代码及其原因。
document.querySelector
EventTarget.addEventListener
onsubmit
event.preventDefault
Constraint validation HTML5
document.querySelector('form').addEventListener('submit', function (e) {
e.preventDefault();
var input = e.target.firstElementChild;
if(!input.validity.valueMissing) {
input.style.display = 'none';
}
}, false);
<form method="post" action="register">
<input type="text" name="name" required />
<button>Next</button>
</form>
相关文章:
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- 如何在一定条件下使必填字段为真
- 当我在平板电脑中关闭应用程序时,如何使其保持会话有效
- 如何使绑定提交始终有效?它'It’他不时地工作
- 如何在多选下拉列表中使选项成为必填/只读选项
- 按键时标记为ng的必填字段有效,即使是's是空的
- 如何使按钮CSS更改只有IF表单字段有效
- 如何使必填字段在有效时不可见
- 如何使用 $.map() 使 .map() 在旧浏览器中有效
- 使用 jQuery.get 是否有效地使 ping 时间加倍
- 使可折叠侧边栏记住单击的选项的有效方法
- 如何使 JSON 字符串有效(如果不是)
- $().hide只在第一次使用时有效
- $().html()只在第一次使用时有效
- 如何在web ix表单中通过onChange使每个元素有效
- 需要帮助使我的HTML和CSS代码的导航效果更有效
- 下拉菜单使文本框显示为必填项,不显示时不显示
- 如何使React.js输出有效的xml而不是html
- 为什么这个jQuery显示/隐藏切换有效,以及我如何使它变得更好
- 如何使javascript警报在所有必填字段填写完毕后才运行