我正在處理一個腳本,它接受一個表單輸入並計算一個包含VAT的總計。 我正在嘗試驗證用戶輸入,確保他只使用整數&。使用正則表達式驗證表格
我的問題是,當我輸入第一個數字,即。 1它會引發我的警覺。而當繼續添加數字時,它可以正常工作。當輸入字母時,它按照假設工作並返回警報。
我有一個微弱的想法,發生這種情況是因爲我使用onkeydown事件來激活評估函數。由於consolelog告訴我值100被解析爲10,1000爲100.
如果我改變它們,所以我現在使用onkeyup計算器函數會告訴我,值100被解析爲10,1000爲100。但是,如果該字段爲空,則由於警告框不斷彈出,表單將變得毫無用處。評估工作但如果你有機會在任何類型
我現在後
<input type="text" id="price" name="price" onkeyup="checkIfWholeNo();" onkeydown="calculate();" />
function checkIfWholeNo() {
var price = document.getElementById('price').value;
if(/^\d+$/.test(parseInt(price))){}
else {alert("not a number"); return false;}
}
}
問題第一和JS後我的代碼HTML: 是不是有什麼毛病我的評價功能,使這個發生?
問題B: 如果它與事件處理程序有關,我如何解決它,所以我得到onkeyup對兩個函數的影響?
是的,我使用 'THIS.VALUE = this.value.replace(/ [^0-9]/g,'')' 其中'g'''是重要部分。 雖然事件處理程序onkeypress工作最好 – odinp123