gpt4 book ai didi

jQuery - 如何为这种特殊情况替换 $(element).nextAll().remove()

转载 作者:太空宇宙 更新时间:2023-11-04 00:14:36 25 4
gpt4 key购买 nike

我编写了这个用于验证非空输入字段的简单脚本。

例如,当表单被发送并且 ID 为“name”的输入为空时,该元素旁边将显示一条短消息。问题是如果表单再次发送一次并且输入不再为空,这样做$(element).nextAll().remove() 将导致 ID 为“phone”的元素消失。

我只需要删除消息错误而不是所有其他元素。

请提出一个简单易行的方法来解决该问题。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#formu").submit(function(){
validateInputText($("#name"),"Enter you name");
validateInputText($("#phone"),"Enter your phone number");
return false;
});
function validateInputText(inputText, errorMessage){
if($(inputText).val()==''){
setFieldAsNotValid(inputText, errorMessage)
}else{
removeErrorMessage(inputText)
}
}

function setFieldAsNotValid(element, errorMessage){
$(element).nextAll().remove();
$(element).after('<b>'+errorMessage+'</b>')
$(element).addClass('selected');
}

function removeErrorMessage(element){
$(element).nextAll().remove();
$(element).removeClass('selected');
}
});



</script>
</head>
<body>
<form id="formu">
name: <input type="text" id="name" />
phone: <input type="text" id="phone" />
<input type="hidden">
<input type="submit">
</form>
</body>

</html>

最佳答案

你为什么不直接给你的错误信息一个类呢?例如:

<b class="error">Message here</b>
<p class="error">Message here</p>

然后删除您调用的任何错误消息

$('.error').remove();

关于jQuery - 如何为这种特殊情况替换 $(element).nextAll().remove(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11805413/

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