こんにちは、フォーム内のすべての入力要素を検証するためのメソッドをjavascriptで作成しました
これが私の形でした
<form name="frmRegister" action="" method="post" onsubmit="return validate(this);">
<ul>
<li>
<input type="text" validate="true" regex="" displayname="card number 1" name="inpt1" >
</li>
<li>
<input type="text" validate="true" regex="" displayname="card number 2" name="inpt5" >
</li>
<li>
<input type="text" validate="true" regex="" displayname="card number 3" name="inpt2" >
</li>
<li>
<input type="text" validate="true" regex="" displayname="card number 4" name="inpt3" >
</li>
<li>
<input type="text" validate="true" regex="" displayname="card number 5" name="inpt4" >
</li>
</ul>
<input type="submit" name="SubmitButton" value="SEND" />
</form>
これが私の方法でした
<script type="text/javascript">
function validate(form_name)
{
for (var i = 0; i < form_name.elements.length; i++)
{
var elem = form_name.elements[i];
var displayname = elem.getAttribute("displayname")
var element_names="";
if (elem.getAttribute("validate") == "true")
{
if(elem.value=="")
{
alert(displayname+" connot be null.");
elem.focus();
return false;
}
}
}
return true;
}
</script>
問題は、IE8 で動作しないことです。警告メッセージが表示されますが、フォームはまだ送信されているため、データベースで null 値が取得されます。