动画表单,如何在页面刷新时检查输入值
Animated form, how to check input value on page refresh?
我有一个使用动态样式的表单。考虑这个html
<div class="field-name field-form-item">
<label class="placeholder" for="name">Name</label>
<input class="form-input" id="name" type="text" name="name" maxlength="50" size="30">
</div>
标签在输入的上方,使用CSS。当你点击标签:
$('.placeholder').on('click focus', function() {
$(this).addClass('ph-activated');
$(this).siblings('input').focus();
})
然后标签被动画化,并允许用户键入输入。
如果用户不想写任何东西,动画返回,并隐藏输入字段:
$('input').on(' blur', function(){
if ($(this).val().length === 0) {
$(this).siblings('label').removeClass('ph-activated');
}
});
好了。
但是当用户填写了输入,然后刷新页面,其浏览器没有重置输入字段(如firefox):标签在输入的上方,即使后者不是空的。
我试过了:
$(document).ready(function() {
if ($('input').val().length) {
$(this).siblings('label').addClass('ph-activated');
}
})
但是它似乎没有触发,我尝试了几种方法来写这个函数。到目前为止,我从未设法将类ph-activated
赋予在页面刷新时具有填充输入的标签。
嗯,你在$(document).ready
中瞄准了错误的element
,因为你指的是label
和this
,认为$(this)
是input
,而它是document
。所以尝试应用下面的代码,我希望页面中会有多个input
元素,所以我使用了$.each
并循环通过所有inputs
$(document).ready(function() {
$('input').each(function(){ //loop through each inputs
if ($(this).val().length) {
$(this).siblings('label').addClass('ph-activated');
}
});
})
DEMO -检查label
,您会发现ph-activated
类添加到label
试试这个:
$(document).ready(function() {
var length = $('input').filter(function( index ) {
return ($(this).val() !== '');
}).length;
if (length > 0) {
$(this).siblings('label').addClass('ph-activated');
}
})
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 如何检查管道中未定义的项目
- 主干-不管怎样,检查事件以前是否绑定过
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 如何在表单中设置按钮,在提交时检查所需字段,但不刷新页面
- 检查用户是否刷新,返回,关闭浏览器等 socket.io
- 如何在不刷新的情况下使用ajax检查captcha
- 如何在刷新页面后检查超链接状态
- 如何在浏览器刷新后检查输入值是否为空
- 动画表单,如何在页面刷新时检查输入值
- HTML自动刷新页面,但检查连接之前
- 如何在用户内容刷新前使用stripe api检查卡数下降
- Chrome检查器:在导航时刷新或保留代码
- ASP(经典)/IIIS 7.5-您可以在不刷新会话的情况下检查会话是否超时吗
- 如何在不刷新的情况下定期检查页面状态?
- 检查beforeunload是否由关闭选项卡/窗口或刷新引起
- 如何检查互联网连接,而不必刷新我的整个页面