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>
3 Réponses :
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>
Je l'ai testé ici:
`https://jsfiddle.net/v2b6sqcx/`
et cela fonctionne très bien pour moi
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>