これは簡単なコードで、どこが間違っているのか分かりません。名前が入力されていないと名前の検証が機能しますが、名前が入力されます。私はここから助けを得るだろう期待して、HTMLとJavaScriptでちょうど新たなんだJavascriptのバリデーション(Submitをクリックした後に入力が表示されない)
:
は、ここに私のコードです。ここ
function checkname(form) {
var eobj = document.getElementById('MITname');
var jname = form.Name.value;
var error = false;
eobj.innerHTML = '';
if (jname == '') {
error = "Name is required!";
var error2 = error.fontcolor("red");
}
if (error) {
if (hasFocus == false) {
form.Name.focus();
hasFocus = true;
}
eobj.innerHTML = error2;
return false;
}
return true;
}
function showinput() {
document.getElementById('namedisplay').innerHTML = document.getElementById('MITname').value;
}
function validate() {
hasFocus = false;
var form = document.forms['form'];
var ary = [checkname];
var rtn = true;
var z0 = 0;
for (var z0 = 0; z0 < ary.length; z0++) {
if (!ary[z0](form)) {
rtn = false;
}
}
return rtn;
}
<form action="" name="form" onsubmit="return validate()">
<tr>
<td align="right">Name:<font color="red">*</font>
</td>
<td>
<input type="text" name="Name" /> <span id="MITname"> </span>
</td>
</tr>
<br/>
<input type="submit" value="Submit" onclick="showinput()" />
<br/>
<label>Your input:</label>
<p><span id="namedisplay"></span>
</p>
</form>
私は、validate関数がすべてのフォームの配列を作成し、フォームごとに 'checkname'を呼び出さなければならないと仮定しています。代わりに、1つの変数配列を繰り返して' checkname'を呼び出します。 – abc123
クラスの最初の日ですそれは自己教えている..私は私は何をコーディングしているのか分かりませんが、JavaScriptの検証を行うことを目指しています。このコードが恐ろしいことを知っています。それは少し下です。*一口*ありがとう。 –
@ Geni様、気分は悪くない、私達はどこかに出発しなければならなかった。私がやっていることは、初心者のために素晴らしい "Javascriptの紹介"ビデオをオンラインで見て、W3 Schoolsを見ていることです。 – FibreChips