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]