如果验证失败,则使用JQuery更改值输入的文本颜色

时间:2015-03-22 11:22:33

标签: javascript jquery

如果我的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'});
  }

});

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery的css方法在文本字段中设置background-color,如下所示

$('#directLink').css({'backgroundColor':'red'});

如果您只想将文字颜色更改为红色,则应设置color属性

$('#directLink').css({'color':'red'});

如果您尝试使用red !important,它将简单地失败而没有任何错误,因为jQuery在理解!important时遇到问题。如果你真的需要使用它,看一下这些解决方法,但在你的情况下,我认为!重要的是真的不需要:)

更多变化: -

  1. 在if条件中返回false以阻止表单 在出现错误情况时提交
  2. 检查url的值而不是directLink,因为它不起作用 下次发布有效网址时,directLink仍然有错误 消息和表单不会被提交。
  3. 在这里玩bin