如果输入为空,边框颜色不会改变

时间:2016-05-13 20:17:21

标签: javascript html border

我有一个用PHP和Javascript编写的简单脚本,如果它是空的,它会改变input字段的边框颜色。

使用下面的代码时,边框颜色不会改变,并显示以下错误:

  

未捕获的TypeError:无法读取null的属性'style'

<?php
if(isset($_POST['submit'])) {
if(empty($_POST['username'])) {
echo'
<script>
document.getElementById("username").style.border = "1px solid red";
</script>
';
}
}
?>

<form method="post">
<input type="text" id="username" name="username">
<input type="submit" name="submit">
</form>

1 个答案:

答案 0 :(得分:0)

您需要在脚本顶部添加window.onload = function () {...}

<?php

if (isset($_POST["submit"])) {

    if (empty($_POST["username"])) {

        echo "
            <script>
                window.onload = function () {

                    document.getElementById('username').style.border = '1px solid red';
                };
            </script>";
    }
}
<form method="post">
    <input type="text" id="username" name="username">
    <input type="submit" name="submit">
</form>