gpt4 book ai didi

javascript - 输入后打勾和交叉 - jQuery

转载 作者:行者123 更新时间:2023-12-03 06:38:13 30 4
gpt4 key购买 nike

大家。如果用户已写入一些文本(或仍在写入),我想在输入字段旁边显示勾号,如果输入字段为空,则显示十字。这是我的尝试:

$('#myForm input').blur(function (){
if($(this).val() == '')
{
$(this).after("<img src='./media/img/cross.png' style='margin-top: 15px;'/>");
}
});

$('#myForm input').keypress(function (){
if($(this).val() != '')
{
$(this).after("<img src='./media/img/tick.png' style='margin-top: 10px; width: 1.5em; height: 1.5em;'/>");
}
});

只要用户输入字母,上面的代码就会添加图像。我怎样才能避免这种情况?有更优雅的方法吗?

提前致谢。

更新

这是我的 HTML:

<form id="myForm" name="loginForm">
<input type="text" class="input" placeholder="Username" id="username"/>
<input type="password" class="input" placeholder="Password" id="password"/>
<input type="submit" class="btns" value="Login" name="submitLogin"/>
</form>

最佳答案

将两个图像标签添加到 html 中,并为它们提供一个带有 display:hidden 的类。使用事件不要通过 .after() 添加 DOM 元素,而是使用它们分别设置或取消设置 imgs 上的隐藏类,有点像这样:

$('#myForm input').blur(function (){
if($(this).val() == '')
{
$(this).next('.tick').addClass('hidden');
$(this).next('.tick').next('.cross').removeClass('hidden');
}
});

$('#myForm input').keypress(function (){
if($(this).val() != '')
{
$(this).next('.tick').next('.cross').addClass('hidden');
$(this).next('.tick').removeClass('hidden');
}
});
.hidden {display: none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm" name="loginForm">
<input type="text" class="input" placeholder="Username" id="username"/><img class="hidden tick" src="#" alt="tick" /><img class="hidden cross" src="#" alt="cross" /><br/>
<input type="password" class="input" placeholder="Password" id="password"/><img class="hidden tick" src="#" alt="tick" /><img class="hidden cross" src="#" alt="cross" /><br/>
<input type="submit" class="btns" value="Login" name="submitLogin"/>
</form>

关于javascript - 输入后打勾和交叉 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38093532/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com