1
votes

la validation à l'aide de js ne se met pas à jour pour span

J'ai écrit ce code pour valider l'entrée utilisateur par js mais il semble ne pas entrer dans le script Je pense que le problème est que le "onkeyup" ne fonctionne pas avec moi

<form method = 'post' name = 'catForm' onsubmit="return checkForm();" >


                       <input type="text"   name = 'cat' placeholder="Category name" onkeyup='checkCat(this.value)'> <span id='print'></span> <br/>
                        <input type='hidden' name='JSEnabled' value='FALSE' />



                  <input id="submit" type="submit" name = 'sb' value="Add A New Category" >

le code ci-dessus dans la partie tête et le dessous dans la partie corps

<script language="JavaScript">
var flag  = false ;


function checkCat(value)
{

    var validate = /^[a-z]{3,15}$/i ;

    if( value.length ==0 )
    {
        re = '';
        flag = false ;
    }

    else if(!validate.test(value))
    {

        flag = false ;
        re = 'Invalid';
        col = 'red' ;


    }
    else
    {
        flag = true ;
        re = 'Valid';
        col = 'green' ;
    }
    document.getElementById('print').style.color = col ;
    document.getElementById('print').innerHTML = re ;

}
function checkForm ()
{
    document.catForm.JSEnabled.value="TRUE";
    return flag ;
}
</script> 


0 commentaires

3 Réponses :


0
votes

Il semble que cela fonctionne comme prévu:

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>

   <form method='post' name='catForm' onsubmit="return checkForm();">

    <input type="text" name='cat' placeholder="Category name" onkeyup='checkCat(this.value)'> <span id='print'></span> <br />
    <input type='hidden' name='JSEnabled' value='FALSE' />

    <input id="submit" type="submit" name='sb' value="Add A New Category">
</form>
    <script>
        var flag = false;

        function checkCat(value) {

            var validate = /^[a-z]{3,15}$/i;

            if (value.length == 0) {
                re = '';
                flag = false;
            }

            else if (!validate.test(value)) {

                flag = false;
                re = 'Invalid';
                col = 'red';

            }
            else {
                flag = true;
                re = 'Valid';
                col = 'green';
            }
            document.getElementById('print').style.color = col;
            document.getElementById('print').innerHTML = re;

        }
        function checkForm() {
            document.catForm.JSEnabled.value = "TRUE";
            return flag;
        }
    </script>
</body>
</html>


0 commentaires

0
votes

Je l'ai testé ici:

`https://jsfiddle.net/v2b6sqcx/`

et cela fonctionne très bien pour moi


0 commentaires

0
votes

Je l'ai même testé avec l'extension HTA et tout va bien!

<!DOCTYPE html>
<html>
<title>validation using js is not updating to span</title>
<head>
<script language="JavaScript">
var flag  = false ;
function checkCat(value)
{
    var validate = /^[a-z]{3,15}$/i ;
    if( value.length ==0 )
    {
        re = '';
        flag = false ;
    }

    else if(!validate.test(value))
    {

        flag = false ;
        re = 'Invalid';
        col = 'red' ;


    }
    else
    {
        flag = true ;
        re = 'Valid';
        col = 'green' ;
    }
    document.getElementById('print').style.color = col ;
    document.getElementById('print').innerHTML = re ;
}
function checkForm ()
{
    document.catForm.JSEnabled.value="TRUE";
    return flag ;
}
</script> 
</head>

<body>
<form method = 'post' name = 'catForm' onsubmit="return checkForm();" >
<input type="text"   name = 'cat' placeholder="Category name" onkeyup='checkCat(this.value)'> <span id='print'></span> <br/>
<input type='hidden' name='JSEnabled' value='FALSE' />
<input id="submit" type="submit" name = 'sb' value="Add A New Category" >
</body>
</html>


0 commentaires