私がしたいことは、ユーザーの入力をチェックし、ルールと一致するかどうかを確認するJavaScriptコードを作成し、「xxx is not」というテキストフィールドのすぐ隣にエラーメッセージを表示することです有効なエントリ "JSの即時検証
たとえば、最初の文字を大文字にし、その後に数字を付ける必要があり、特殊文字を使用できないという規則がある場合。
ユーザは「13da2343 *」のような形式で入力し、結果は「無効なエントリです。最初の文字は大文字で、特殊文字は無効なエントリです」。テキストフィールドのすぐ隣に表示する必要があります。
私は自分自身でこれを開始する方法についての手掛かりはありません。私はこれは私が私のウェブサイトのために、これまで持っている全体のコードではJavaScript
EDIT
に新しいです、助けてください。私は、入力された特定の文字が無効であり、それ自体がテキストフィールドの隣にあると言う方法を知らない。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> THING </title>
<meta name="Author" content="Dhruvin Desai" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
document.forms[0].addEventListener('submit', function(event) {
event.preventDefault();
var input = document.getElementsByName('a')[0];
if (~input.value.search(input.getAttribute('pattern'))) {
alert('Is valid!');
} else {
alert('It's invalid...');
}
});
}//]]>
</script>
</head>
<body>
<div id="wrapper">
<div id="response">
<form id="form" action="#" >
<fieldset>
<LEGEND><br>THING</br></LEGEND>
<!-- Input Fields -->
<label for="name"> Username </label>
<input type="text" name="a" value="" id="name" autofocus="autofocus" autocomplete="off" required="required" placeholder="Username" pattern="^[A-Z][A-Za-z]{0,11}$" onkeyup="check(this)" />
<span id="confirmMessage" class="confirmMessage"></span>
<input type="submit" value="Submit" class="submit" />
</fieldset>
</form>
</div>
</body>
EDIT 2
私は動作しますが、唯一、私は最初の文字だけのために必要大文字を、受け入れる新しいスクリプトを追加しました。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> IT 202 - Assignment 3 </title>
<meta name="Author" content="Dhruvin Desai" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="wrapper">
<div id="response">
<form id="form" action="insert_form.php">
<fieldset>
<LEGEND><br>Assignment 3</br></LEGEND>
<!-- Input Fields -->
<label for="name"> Username </label>
<input name="name" id="name" autofocus="autofocus" autocomplete="off" required="required" placeholder="Username" onkeyup="check(this.value)" />
<input type="submit" value="Submit" class="submit" />
</fieldset>
</form>
</div>
<script type="text/javascript">
function check(string)
{
loop: for (i = 0; i < string.length; i++)
{
var res = string.substring(i, i + 1).match(/[A-Z][A-Za-z]{0,11}/);
if (!res)
{
alert("Error on position " + (i + 1) + ":\n This character is no Letter: "+string.substring(i, i + 1));
break loop;
}
}
}
</script>
</body>
w3schoolsは悪いです - http:// w3fools。それに加えて、質問を見て、私は彼がバリデーション等をトリガする方法の詳細を知っていることを非常に疑っているので、あなたの答えは本当に完全ではありません。 – ThiefMaster