我已经尝试了很多不同的方法来移除孩子,但到目前为止没有任何效果,嗯,它在某种程度上,要么我没有消息,要么我不断收到消息,只是添加到跨度而不删除另一个
尝试阅读如何删除孩子,并尝试了我发现的所有不同方式来删除它,我的代码在创建孩子和附加它等方面可能是错误的,因为这是我第一次使用这种方式。一直在尝试使用 while 循环来删除,以及在代码中已经被注释掉的循环,以及 firstChild。并使用不同的名称而不是味精。
我的代码在我的脚本中如下所示:
function validateName(input, id)
{
var res = true;
var msg = document.getElementById(id);
var error = document.createElement("span");
var errorMsg = "";
if (input == "" || input < 2) {
res = false;
// removeChildren(msg);
errorMsg = document.createTextNode("Input is to short!");
error.appendChild(errorMsg);
id.appendChild(error);
}
if (input >= 2 && input.match(/\d/)) {
res = false;
// removeChildren(msg);
errorMsg = document.createTextNode("Name contains a number!");
error.appendChild(errorMsg);
id.appendChild(error);
}
if (input >= 2 && !input.match(/\d/)) {
res = true;
// removeChildren(msg);
}
return res;
}
我的小测试页:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script src="Validator.js"></script>
<script>
function v1(e,id) {
if(validateName(document.form1.namefield.value, id) == false) {
document.getElementById("be").src="NotOkSmall.jpg";
}
if(validateName(document.form1.namefield.value) == true) {
document.getElementById("be").src="OkSmall.jpg";
}
}
</script>
</head>
<body>
<h1>Validation testing, HO!</h1>
<form name="form1" action="submit">
<div id="div1">
<input type="text" name ="namefield" id="f1" onkeydown="v1(be, div1)" >
<image id="be" src="NotOkSmall.jpg" alt="OkSmall.jpg" />
</div>
<input type="button" value="GO" onClick="v1(be)">
</form>
</body>
</html>
如果有人有任何想法让它为我工作,那将是一个非常快乐的人:),正如我之前所说,我什至不确定在这种情况下创建 child 是正确的方法。但是当我删除removeChildren时它可以工作,它确实写了正确的消息,只是不要删除它们中的任何一个。所以必须有一些工作..
谢谢。