【发布时间】:2011-03-23 14:29:43
【问题描述】:
所以我在文本框的 onchange 事件上有一个 AJAX 调用,在 onkeyup 事件上有一个非常简单的掩码函数(将破折号添加到 SSN)。这两个函数本身都可以正常工作,但是,如果掩码插入破折号,然后我移出文本框,则不会触发 onchange 事件。
有人知道为什么吗?我的猜测是,通过使用 mask 函数更改值,文本框不再认为有任何变化。
谢谢
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 + '-';
}
【问题讨论】:
标签: javascript ajax