Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在focusout事件的元素下动态添加范围?_Javascript - Fatal编程技术网

Javascript 如何在focusout事件的元素下动态添加范围?

Javascript 如何在focusout事件的元素下动态添加范围?,javascript,Javascript,我正在编写自己的验证代码,但遇到了这样一个问题:当输入的值长度为0时,我不知道如何在输入下面动态添加一个带有消息的范围。我知道我可以在每个输入元素下面放置一个跨距,并在需要时显示none,但这样做会破坏动态创建跨距的目的,并且可能需要一段时间才能根据其使用方式进行修改 我将如何着手实现这一点 <style scoped> #userDetails { margin-top:60px; } </style> <div id="user

我正在编写自己的验证代码,但遇到了这样一个问题:当输入的值长度为0时,我不知道如何在输入下面动态添加一个带有消息的范围。我知道我可以在每个输入元素下面放置一个跨距,并在需要时显示none,但这样做会破坏动态创建跨距的目的,并且可能需要一段时间才能根据其使用方式进行修改

我将如何着手实现这一点

<style scoped>
    #userDetails {
        margin-top:60px;
    }
</style>

<div id="userDetails" class="form-horizontal">
    <div class="row">
        <div class="form-group">
            <label class="col-md-2 control-label" for="txtFirstName">First Name</label>
            <div class="col-md-6 col-lg-6">
                <input id="txtFirstName" is-required class="form-control input-sm" />
            </div>
        </div>
    </div>

    <div class="row">
        <div class="form-group">
            <label class="col-md-2 control-label" for="txtLastName">Last Name</label>
            <div class="col-md-6 col-lg-6">
                <input id="txtLastName" is-required class="form-control input-sm" />
            </div>
        </div>
    </div>

    <div class="row">
        <div class="form-group">
            <label class="col-md-2 control-label" for="txtEmail">E-mail</label>
            <div class="col-md-6 col-lg-6">
                <input id="txtEmail" is-required class="form-control input-sm" />
            </div>
        </div>
    </div>

</div>

function ValidationCheck() {
  let isRequired = document.querySelectorAll('[is-required]');
  isRequired.forEach(function(element) {
    element.addEventListener('focusout', (e) => {
      if (element.value.length == 0) {
        element.style.border = "1px solid red";
        if (element.classList.contains("clear")) {
          element.classList.remove("clear");
        }
      } else {
        element.style.border = "1px solid green";
        element.classList.add("clear");
      }
    });
    element.addEventListener('keyup', (e) => {
      element.style.border = "1px solid green";
    });
  });
}

#用户详细信息{
边缘顶部:60像素;
}
名字
姓
电子邮件

这是一个添加span的示例,其中包含一些文本,请根据您的需要进行编辑/更新/更改

$(文档).ready(函数(){
验证检查();
});
函数验证检查(){
让isRequired=document.querySelectorAll(“[是必需的]”);
isRequired.forEach(函数(元素){
元素。addEventListener('focusout',(e)=>{
if(element.value.length==0){
element.style.border=“1px实心红色”;
var parentDiv=element.parentNode;
var para=document.createElement(“span”);
var node=document.createTextNode(“这是新的”);
子节点(节点)段;
parentDiv.appendChild(第2段);
if(element.classList.contains(“clear”)){
元素.classList.remove(“清除”);
}
}否则{
element.style.border=“1px纯绿色”;
元素。类列表。添加(“清除”);
}
});
元素。addEventListener('keyup',(e)=>{
element.style.border=“1px纯绿色”;
});
});
}

#用户详细信息{
边缘顶部:60像素;
}
名字
姓
电子邮件

这是一个添加span的示例,其中包含一些文本,请根据您的需要进行编辑/更新/更改

$(文档).ready(函数(){
验证检查();
});
函数验证检查(){
让isRequired=document.querySelectorAll(“[是必需的]”);
isRequired.forEach(函数(元素){
元素。addEventListener('focusout',(e)=>{
if(element.value.length==0){
element.style.border=“1px实心红色”;
var parentDiv=element.parentNode;
var para=document.createElement(“span”);
var node=document.createTextNode(“这是新的”);
子节点(节点)段;
parentDiv.appendChild(第2段);
if(element.classList.contains(“clear”)){
元素.classList.remove(“清除”);
}
}否则{
element.style.border=“1px纯绿色”;
元素。类列表。添加(“清除”);
}
});
元素。addEventListener('keyup',(e)=>{
element.style.border=“1px纯绿色”;
});
});
}

#用户详细信息{
边缘顶部:60像素;
}
名字
姓
电子邮件

您可以使用以下方法创建
span
标记:

此外,您还可以使用将文本设置到
span
标记中

然后,通过使用,可以将创建的新span标记添加到适当的节点元素中

基本上,您需要这段代码:

span = document.createElement("span");
span.style.color = "red";
span.textContent = "Invalid!";

// Just add a span tag when is necessary.
if (!element.parentNode.children[1]) {
  element.parentNode.appendChild(span); // If "element" is your input control, with parentNode finds its parent node element.
}
if (element.parentNode.children[1]) {
  element.parentNode.children[1].remove();
}
更新:

当验证为
OK
时,您可以使用以下代码删除添加的
span

span = document.createElement("span");
span.style.color = "red";
span.textContent = "Invalid!";

// Just add a span tag when is necessary.
if (!element.parentNode.children[1]) {
  element.parentNode.appendChild(span); // If "element" is your input control, with parentNode finds its parent node element.
}
if (element.parentNode.children[1]) {
  element.parentNode.children[1].remove();
}
$(文档).ready(函数(){
验证检查();
});
函数验证检查(){
让isRequired=document.querySelectorAll(“[是必需的]”),
跨度
isRequired.forEach(函数(元素){
元素。addEventListener('focusout',(e)=>{
if(element.value.length==0){
element.style.border=“1px实心红色”;
span=document.createElement(“span”);
span.style.color=“红色”;
span.textContent=“无效!”;
//必要时只需添加一个span标记。
如果(!element.parentNode.children[1]){
元素.parentNode.appendChild(span);
}
if(element.classList.contains(“clear”)){
元素.classList.remove(“清除”);
}
}否则{
element.style.border=“1px纯绿色”;
元素。类列表。添加(“清除”);
if(element.parentNode.children[1]){
元素.parentNode.children[1]。删除();
}
}
});
元素。addEventListener('keyup',(e)=>{
element.style.border=“1px纯绿色”;
if(element.parentNode.children[1]){
元素.parentNode.children[1]。删除();
}
});
});
}

#用户详细信息{
边缘顶部:60像素;
}
名字
姓
电子邮件

您可以使用以下方法创建
span
标记:

此外,您还可以使用将文本设置到
span
标记中

然后,通过使用,可以将创建的新span标记添加到适当的节点元素中

基本上,您需要这段代码:

span = document.createElement("span");
span.style.color = "red";
span.textContent = "Invalid!";

// Just add a span tag when is necessary.
if (!element.parentNode.children[1]) {
  element.parentNode.appendChild(span); // If "element" is your input control, with parentNode finds its parent node element.
}
if (element.parentNode.children[1]) {
  element.parentNode.children[1].remove();
}
更新:

当验证为
OK
时,您可以使用以下代码删除添加的
span

span = document.createElement("span");
span.style.color = "red";
span.textContent = "Invalid!";

// Just add a span tag when is necessary.
if (!element.parentNode.children[1]) {
  element.parentNode.appendChild(span); // If "element" is your input control, with parentNode finds its parent node element.
}
if (element.parentNode.children[1]) {
  element.parentNode.children[1].remove();
}
$(文档).ready(函数(){
验证检查();
});
函数验证检查(){
让isRequired=document.querySelectorAll(“[是必需的]”),
跨度
isRequired.forEach(函数(元素){
元素。addEventListener('focusout',(e)=>{
if(element.value.length==0){
element.style.border=“1px实心红色”;
span=document.createElement(“span”);
span.style.color