如果数据错误,请更改输入的背景色


Change background color of input if data is wrong

当输入的数据错误时,我想动态更改输入文本的背景。

这是我的文本字段:

$oForm->formInput(array(
    'id' => 'phone',
    'name' => 'phone',
    'label' => 'telefon',
    'value' => $_POST['phone'],
    'type' => 'tel',
    'size' => '60',
    'maxlength'=>'30',
));

这是一个检查输入数据是否正确的功能。

function checkIfError($field){
    global $oForm;    
    if($_POST["ACT"] == 'checkCorrectness'){
        global $wrong;
        .
        .
        .
        case "phone":
                if(empty($_POST['phone'])){                       
                  <THIS IS A PLACE FOR JAVASCRIPT>
                }else
                  <THIS IS A PLACE FOR JAVASCRIPT>
                }
                break;
      }
}

但身份证不起作用。输入JavaScript代码的位置正确吗?因为即使是警报也不起作用。

例如,如果我输入了正确的数字,则输入文本应为白色。如果没有输入文本,则应为绿色。我读过它,并尝试了一些JavaScript代码,但目前这些都不起作用。你能帮我吗?

编辑:

在上面的代码中,我创建了"这是Java脚本的地方":

echo '<script>         
        var phone = $("#phone").val();
                alert(phone);
                if (phone == ""){
                    $("#phone").css("background-color","yellow");
                }                               
 </script>';

我收到一个文本为"未定义"的警报。"if"中的rest指令也不起作用。

在html 中使用此代码

<body>
  <input type="text" id="phone" name="txt" value="Hello"/>
    <script type="text/javascript">
       $(document).ready(function(){
       var phone = $("#phone").val();
        if(phone === '')
        {
          $("#phone").css("background-color","yellow");
        }
        else
        {
          $("#phone").css("background-color","red");
        }
    });
    </script>
   </body>

我认为最简单的解决方案是在空输入字段中添加一个类,例如添加一个"error"类。

您可以使用JQuery检查输入字段,例如:

if('#yourInput').val() === '') {
  $('#yourInput').addClass('error');
}

在你的CSS中:

.error {
  background-color:green;
}