因此,我有一個文本框的onchange事件和一個非常簡單的掩碼函數(爲SSN添加破折號)在onkeyup事件上的AJAX調用。這兩個函數都可以正常工作,但是,如果蒙版插入短劃線,然後離開文本框,則onchange事件將不會觸發。onkeyup事件停止onchange ajax事件發生
任何人有任何想法爲什麼?我的猜測是,通過使用掩碼函數更改值,文本框不再認爲任何內容都已更改。
感謝
SSN: <input id="SSN" maxlength="11" size="8" onchange="validateSSN();" onkeyup="mask()">
<span id="SSNnote"></span>
<script type="text/javascript">
function validateSSN(){
var cfc = new myajax();
cfc.setCallbackHandler(function(AjaxResults) {UpdateValidationNotes('SSNnote', AjaxResults);});
cfc.ValidateSSN(document.getElementById("SSN").value);
}
function mask(){
var temp = document.getElementById("#WhichName#").value;
var e = window.event;
if (e.keyCode == 189){
document.getElementById("SSN").value = temp.substring(0,temp.length-1);
return false;
}
if (temp.length == 3 || temp.length == 6)
if (e.keyCode != 8)
document.getElementById("SSN").value = document.getElementById("SSN").value + '-';
}
我看了你的答案後,我頭上生鏽的齒輪開始磨削,我記得以前有這樣的問題。我不能在我的掩碼函數中調用我的validateSSN(),導致我的AJAX顯示消息,並且我只希望它在離開字段時顯示。所以,從onchange到onblur的快速改變解決了問題!不知道爲什麼我沒有想到之前,我想只是多生鏽....謝謝! – Limey 2011-03-23 14:40:14