JSを使用して例外を作成したので、ユーザーはhtmlフォームフィールドにのみ数値を入力できます。これはうまく機能していますが、問題は、[送信]ボタンが機能しなくなったことです。例外コードを削除すると、送信ボタンが正常に機能します。どこに問題があるのかわかりません。誰か助けてくれませんか?前もって感謝します!
ここに例外があります:
function validateNum(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /[0-9]|\./;
if( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
function validate()
{
if( document.myForm.ic.value == "" ||
isNaN( document.myForm.ic.value ) ||
document.myForm.ic.value.length != 12)
{
alert( "Please provide your correct IC Number!" );
document.myForm.ic.focus() ;
return false;
}else{
// Put extra check for data format
var ret = validateNum();
if( ret == false )
{
return false;
}
}
これが私のhtmlフォームアクションです:
<form name="myForm" method="post" action="nonuum_reg.php" onsubmit="return(validate());">
入力フィールドと送信ボタンは次のとおりです。
<input name="ic" type="text" id="ic" maxlength="12" size="45" onkeypress='validateNum(event)'/>
<input type="submit" value="Apply" />