2
我在我的網站上運行以下腳本。用戶必須輸入10個字符的「testnumber」。有一個長度檢查驗證。當用戶點擊提交按鈕時,我的腳本確實可以正常工作。如何驗證Javascript中的輸入鍵?
但問題是,當用戶按下Enter鍵而不是鼠標點擊時,它不會警告用戶。我怎樣才能改變它,以便當用戶按下回車鍵時,這個腳本將會提供與點擊提交按鈕相同的信息?
<script type="text/javascript">
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function formvalidation(form) {
var isSubmitting = false;
var value = document.getElementById('testnumber').value;
if (value.length == 10) {
if (isNumber(value)) {
isSubmitting = true;
}
}
if (isSubmitting) {
form.submit();
}
else {
alert('testnumber must be at least 10 character.');
return false;
}
}
</script>
這是HTML代碼的一部分:
<tr>
<td align="center">
<label>
<div align="left">
<span class="text7"><strong>enter testnumber:</strong></span>
<input name="testnumber" type="text" id="testnumber" size="50" value="<%=(testnumber)%>" />
<input name="search" id="search" type="button" class="normalmail" value="Search" onclick="formvalidation(frmSearch);" />
</div>
</label>
</td>
</tr>
你有一個監聽器提交按鈕?如果用戶點擊輸入,它將不會效仿提交按鈕上的klick,而是會提交表單本身。 – Kersten
添加一個'submit'事件處理程序,另外:嘗試'返回!!(n == +(n));'作爲您的'isNumber'函數 –
分享您的html代碼 – Rab