如果我的php验证失败,我只想让值输入框中的文本变为红色?
如何使用JQuery完成?
我是使用Javascript做的,除非每次点击提交时它变成红色然后消失......
<form class="link-form" method="post" action="">
<label>DIRECT LINK</label>
<input type="text" id="url" name="url" value="<?php if(isset($_POST['url'])) { echo htmlspecialchars($_POST['url']); } ?>" />
<input class="btn-submit" type="submit" id="submit" name="submit" value="Generate Direct Link" />
<?php
$directLink = "";
$error = "";
$url = $_POST['url'];
if(isset($_POST['submit'])) {
$partsUrl = parse_url($url);
if ($partsUrl["scheme"] === "https://" && $partsUrl["host"] === "example.com/")
{
$key = substr($partsUrl["path"],8,-5);
$directLink = "https://example.com/".htmlspecialchars($key);
}
else
{
$error = "Invalid, Please insert the correct Link";
}
}
?>
<label>DIRECT LINK</label>
<input type="text" id="directLink" name="directLink" value="<?php if (!empty($directLink)) { echo $directLink; } else { echo $error; } ?>" />
</form>
function colorChange() {
var inputVal = document.getElementById("directLink").value;
if (inputVal === "Invalid, Please insert the correct Link") {
document.getElementById("directLink").style.backgroundColor = "red";
}
else
{
document.getElementById("directLink").style.backgroundColor = "black";
}
}
或者我尝试了下面的JQuery示例但没有做任何事情。
$('#submit').on('click',function(){
var text = $('#directLink').val();
if(text === 'Invalid, Please insert the correct Link'){
$('#directLink').css({'background-color':'red !important'});
}
});
答案 0 :(得分:1)
您可以使用jQuery的css
方法在文本字段中设置background-color
,如下所示
$('#directLink').css({'backgroundColor':'red'});
如果您只想将文字颜色更改为红色,则应设置color
属性
$('#directLink').css({'color':'red'});
如果您尝试使用red !important
,它将简单地失败而没有任何错误,因为jQuery在理解!important
时遇到问题。如果你真的需要使用它,看一下这些解决方法,但在你的情况下,我认为!重要的是真的不需要:)
更多变化: -
在这里玩bin。