Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 在缺少的字段上以红色突出显示,或单击“离开”_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript 在缺少的字段上以红色突出显示,或单击“离开”

Javascript 在缺少的字段上以红色突出显示,或单击“离开”,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我试图在提交时用红色突出显示一个文本框,当它为空时,然后在用户输入文本并单击离开时将其恢复为黑色。这根本没有效果。我做错了什么 <style> :required { border-color: #FF0000; } </style> $(document).ready(function () { var email = $('#Email').val(); if (!email || email === "") {

我试图在提交时用红色突出显示一个文本框,当它为空时,然后在用户输入文本并单击离开时将其恢复为黑色。这根本没有效果。我做错了什么

 <style>
  :required {
    border-color: #FF0000;
  }
</style>

 $(document).ready(function ()
  {
  var email = $('#Email').val();

  if (!email || email === "") {
   document.getElementsByClassName("Email").className = document.getElementsByClassName("Email").className + " 
  required"; 
  }
  else {
    document.getElementsByClassName("Email").style.border = "1px solid black";
   }
            

  }

@using (Html.BeginForm(...)
{
   <div class="form-group row Email"  id="Email">
   @Html.TextBoxFor(model => model.Email, new { placeholder = "Enter your email", @class = "form- 
  input" })
  </div>
 

 <input type="submit" name="submitButton" id="submitButton" class="form-input"/>
}

:必需{
边框颜色:#FF0000;
}
$(文档).ready(函数()
{
var email=$('#email').val();
如果(!email | | email==“”){

document.getElementsByClassName(“电子邮件”).className=document.getElementsByClassName(“电子邮件”).className+“ 必需的”; } 否则{
document.getElementsByClassName(“Email”).style.border=“1px纯黑色”; } } @使用(Html.BeginForm(…) { @Html.TextBoxFor(model=>model.Email,新建{placeholder=“输入您的电子邮件”,@class=“form- 输入“}) }
您试图通过id电子邮件获取元素,但您的div没有“电子邮件”id,它是一个类

而不是:

let element = document.getElementById("Email")
你可以用这个:

let element = document.getElementsByClassName("Email")[0]
您还可以向div添加id属性并将其设置为“Email”


@Html.TextBoxFor(model=>model.Email,新{
占位符=“输入您的电子邮件”,
@class=“表单输入”
})

您试图通过id电子邮件获取元素,但您的div没有“电子邮件”id,它是一个类

而不是:

let element = document.getElementById("Email")
你可以用这个:

let element = document.getElementsByClassName("Email")[0]
您还可以向div添加id属性并将其设置为“Email”


@Html.TextBoxFor(model=>model.Email,新{
占位符=“输入您的电子邮件”,
@class=“表单输入”
})

进行了这些更改并编辑了文章。但是结果没有任何更改。document.getElementsByClassName(“电子邮件”)返回一个元素数组,您的元素可能位于第一个位置。您可以这样访问它:var element=document.getElementsByClassName(“电子邮件”)[0]进行了这些更改并编辑了文章。但结果没有更改。document.getElementsByClassName(“电子邮件”)返回一个元素数组,可能您的元素位于第一个位置。您可以这样访问它:var element=document.getElementsByClassName(“电子邮件”)[0]