在我的电子邮件表单中,当电子邮件字段为空或不正确时,边框颜色应更改为红色,如何使用JavaScript做到这一点?
UI脚本
<tr>
<td style="color:rgb(05,111,159);text-align:right;">
<p style="color:rgb(05,111,159);font-size:large" class="col-sm2">
Confirm Email:</p>
</td>
<td>
<asp:TextBox Height="28px" Width="260px"ID="ConfirmEmail"runat="server"
TextMode="Email"></asp:TextBox>
<asp:RequiredFieldValidator ID="ConfirmEmailRequired" runat="server"
ControlToValidate="ConfirmEmail" Display="Dynamic">
</asp:RequiredFieldValidator>
</td>
</tr>
当单击按钮时文本框字段保持空白时,我想将边框颜色更改为红色。
答案 0 :(得分:2)
var confirmEmail = document.getElementById('ConfirmEmail').value;
if(confirmEmail.length == 0){
confirmEmail.style.border = "1px solid red";
}else{
confirmEmail.style.border = "1px solid black";
}
希望这会有所帮助。
答案 1 :(得分:1)
function validate(){
var input = document.getElementById('ConfirmEmail');
//if(input.value == ""){
if(input.value.trim().length === 0){
input.style.border = "1px solid red";
}
else if(validateEmail(input.value)==false){
input.style.border = "1px solid red";
}
else{
input.style.border = "1px solid black";
}
}
function validateEmail(mail)
{
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail))
{
return (true)
}
return (false)
}
<td style="color:rgb(05,111,159);text-align:right;"><p style="color:rgb(05,111,159);font-size:large" class="col-sm-2">Confirm Email:</p></td>
<td>
<input type="textbox" Height="28px" Width="260px" ID="ConfirmEmail" runat="server" TextMode="Email"/>
<asp:RequiredFieldValidator ID="ConfirmEmailRequired" runat="server" ControlToValidate="ConfirmEmail" Display="Dynamic"></asp:RequiredFieldValidator></td>
<input type="button" id="Submit" value="Submit" onclick="validate()"/>
答案 2 :(得分:1)
使用JQuery
应该可以。
function inputVal() {
var inputEmail = $("#ConfirmEmail");
if (inputEmail[0].value === "" || inputEmail[0].value.length === 0) {
inputEmail.css("border", "1px solid red");
} else {
inputEmail.css("border", "1px solid green");
}
}
function addUser() {
//Do something
document.getElementById("CreateUserButton").innerHTML = "User Added!";
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onclick="inputVal()"> Check Input</button>
<Table>
<tr>
<td style="color:rgb(05,111,159);text-align:right;">
<p style="color:rgb(05,111,159);font-size:large" class="col-sm-2">Confirm Email:</p>
</td>
<td>
</tr>
<tr>
<td>
<Input Height="28px" Width="260px" ID="ConfirmEmail" runat="server" TextMode="Email" placeholder="Write Here"></Input>
</td>
<td align="right" colspan="2">
<Button ID="CreateUserButton" CssClass="col-sm-offset-2" font-size="Medium" font-family="Arial" Font-Bold="true" font-colour="Olive" Visible="false" runat="server" onclick="addUser()" CommandName="MoveNext">Create User Button</Button>
</tr>
</Table>
答案 3 :(得分:0)
我认为您可以使用
#myfield:invalid { ... }
如果输入无效,则应用样式。