如果它是空白,如何通过php和javascript更改输入文本的颜色?

时间:2018-10-27 14:59:41

标签: javascript php css

在index.php中,我有用于输入emailId的区域,用于按用户显示错误的php代码,而在登录页面中,我具有用于将用户的电子邮件ID存储在database(mysql)中的php代码。而且我不希望用户提交空白的电子邮件ID来处理此问题,我写了“ if(empty($ uemail)){”,但我想通过将输入文本区域的边框颜色更改为红色来显示用户输入区域为空。

index.php

<input type="email" id="email" name="email" placeholder="Email">

<?php
session_start();
if(isset($_SESSION['error'])){
echo '<script type="text/javascript">   
function downIt() {
document.getElementById("input").style.cssBorder = "color: red";
}
</script>';
}
unset ($_SESSION['error']); 
session_destroy ();
?>

login.php

$uemail = $_POST['email'];
if (empty($uemail)){
$_SESSION['error'];
Header( 'Location: index.php');
exit;
}
else{
query code....here....
}

1 个答案:

答案 0 :(得分:0)

为什么您不只尝试HTML5? 例如:

<style>
    .was-validated input:invalid {
        border: 1px solid red;
    }
</style>

<script>
    // Bootstrap code
    // Example starter JavaScript for disabling form submissions if there are invalid fields
    (function () {
        'use strict';
        window.addEventListener( 'load', function () {
            // Fetch all the forms we want to apply custom Bootstrap validation styles to
            var forms = document.getElementsByClassName( 'needs-validation' );
            // Loop over them and prevent submission
            var validation = Array.prototype.filter.call( forms, function ( form ) {
                form.addEventListener( 'submit', function ( event ) {
                    if ( form.checkValidity() === false ) {
                        event.preventDefault();
                        event.stopPropagation();
                    }

                    form.classList.add( 'was-validated' );
                }, false );
            } );
        }, false );
    })();
</script>

<form method="post" action="login.php" class="needs-validation" novalidate>
    <input type="email" id="email" name="email" placeholder="Email" required />
    <br />
    <input type="submit" />
</form>

但是如果您仍然想使用PHP,我看不出使用Javascript的理由。

index.php

<?php
session_start();

$error_border = '';
if ( isset( $_SESSION[ 'error' ] ) ) {
    $error_border = ' style="border: 1px solid red;"';
}

unset ( $_SESSION[ 'error' ] );
?>

    <form method="post" action="login.php">
        <input type="email" id="email" name="email" placeholder="Email"<?php echo $error_border; ?> />
        <br />
        <input type="submit" />
    </form>

<?php session_destroy(); ?>

login.php

<?php
session_start(); // resume existing session

$uemail = $_POST[ 'email' ];
if ( empty( $uemail ) ) {
    $_SESSION[ 'error' ] = 1;
    Header( 'Location: index.php' );
    exit;
} else {
    query code....here....
}