Firefox下面为什么不能用呢????着急..... regInputRestriction(document.all.onlyNumber,/^[0-9]*$/); ---document.all 只在ie下有用换成 document.getElementById("")即可! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问是这样用吗?例如:document.all.onlyNumber 替换为:document.getElementById.onlyNumber吗? 换了之后还是不能用在firefox下面的啊.我是这么处理的..document.all.onlyNumber 替换为:document.getElementById("onlyNumber")在火狐下仍然是不好使的.. parentElement()加个括号干什么? 大家谁见过呢?我没有用过firefox真不知道哪些元素在ff上面不支持啊.高手给个指示吧... 没用过ff啊,不知道还有哪些在ff下不支持啊.恳请高手指示下啊.在线等.急急急 1ff好象不支持onpaste和ondrag2你创建Range对象错误,而且使用了ff不支持的Range对象的方法和属性,具体ff的Range对象是方法和属性我也不搞不清楚.下面是创建range对象的代码var docSel;if(docoment.createRange)//ff和标准2级dom docSel=document.createRange();else if(document.selection&&document.selection.createRange)//ie docSel=document.selection.createRange(); 不知道该改成对应的什么方法啊?没用过ff的,最ff知知甚少.. 我帮你改了一下,在ff不能粘贴,只能输入.但是有一个小问题,ff时就是把内容拖进文本框时不知道怎么限制<html> <head> <title> TD Testing ! </title> </head> <SCRIPT language="javascript"> <!--start /* * added by LxcJie 2004.6.11 * 约束输入框的内容 * 适用于IE5.0及以上版本 * oObj: 输入框控件对象 * reg: 正则表达式 * isChinese:是否允许打开输入法,true 允许打开,即允许输入中文,false 不能打开,默认为不允许打开 * usage: * * //只能输入数字和大小写字母 * <BODY onLoad="regInputRestriction(document.all.txt,/^[0-9a-zA-Z]*$/)"> * <input id="txt"> * </BODY> */ function regInputRestriction(oObj,reg,isChinese) { function regInput(obj, reg, inputStr) { var docSel = document.selection.createRange(); if (docSel.parentElement().tagName.toLowerCase() != "input") return false; oSel = docSel.duplicate(); oSel.text = ""; var srcRange = obj.createTextRange(); oSel.setEndPoint("StartToStart", srcRange); var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length); return reg.test(str); } //限制输入法是否允许打开 if(isChinese == null) isChinese = false; if(isChinese) oObj.style.imeMode = "auto"; else oObj.style.imeMode = "disabled"; //注册事件,在ie下时注册onkeypress,ff时改为注册onkeydown事件,要不无法获取event的keyCode if(document.all) { oObj.onkeypress=function() { return regInput(this,reg,String.fromCharCode(event.keyCode));//输入时激发 } } else oObj.onkeydown = EventHandler; //ff改为onkeydown事件 function EventHandler(e)//===========此为ff的方法 { e=e||event; if(e.ctrlKey)//禁止粘贴 return false; //不为“<-键”,“Delete键”和方向键时 else if(e.keyCode!=8&&e.keyCode!=46&&e.keyCode!=37&&e.keyCode!=38&&e.keyCode!=39&&e.keyCode!=40) return reg.test(String.fromCharCode(e.keyCode)); } //下面为ie的方法,在ff下不知道怎么限制 oObj.onpaste = function() { return regInput(this,reg,window.clipboardData.getData('Text'));//粘贴时激发 } oObj.ondrop = function(e) { e=e||event; return regInput(this,reg,event.dataTransfer.getData('Text'));//拖拽时激发 } } //--> </SCRIPT> <script language="javascript"> function initForm() { regInputRestriction(document.getElementById('onlyNumber'),/^[0-9]*$/); } </script> <BODY onLoad="initForm()"> <INPUT id="onlyNumber"> 只能输入数字 <br> <br> </BODY> </html> input 水印与浏览器自填充的用户信息重叠 js函数 字符串->二维数组 ext 最近流行JS写游戏了,那我也来试试一个打砖块的游戏 框架之间的通信 屏蔽鼠标右键刷新 补充问题!~~ fason高手的“向setTimeout传递函数参数 ”的学习 如何确定一个窗口有没有打开? 很简单的问题,谁先解答正确给谁50分 js是什么东西去执行的? [求助]-跨页传值在IE中可用 ,在FIREFOX中不可用。
例如:document.all.onlyNumber 替换为:document.getElementById.onlyNumber吗?
document.all.onlyNumber 替换为:document.getElementById("onlyNumber")
在火狐下仍然是不好使的..
高手给个指示吧...
ff好象不支持onpaste和ondrag2
你创建Range对象错误,而且使用了ff不支持的Range对象的方法和属性,具体ff的Range对象是方法和属性我也不搞不清楚.
下面是创建range对象的代码
var docSel;
if(docoment.createRange)//ff和标准2级dom
docSel=document.createRange();
else if(document.selection&&document.selection.createRange)//ie
docSel=document.selection.createRange();
但是有一个小问题,ff时就是把内容拖进文本框时不知道怎么限制<html>
<head>
<title>
TD Testing !
</title>
</head>
<SCRIPT language="javascript">
<!--start
/*
* added by LxcJie 2004.6.11
* 约束输入框的内容
* 适用于IE5.0及以上版本
* oObj: 输入框控件对象
* reg: 正则表达式
* isChinese:是否允许打开输入法,true 允许打开,即允许输入中文,false 不能打开,默认为不允许打开
* usage:
*
* //只能输入数字和大小写字母
* <BODY onLoad="regInputRestriction(document.all.txt,/^[0-9a-zA-Z]*$/)">
* <input id="txt">
* </BODY>
*/
function regInputRestriction(oObj,reg,isChinese)
{
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange();
if (docSel.parentElement().tagName.toLowerCase() != "input")
return false;
oSel = docSel.duplicate();
oSel.text = "";
var srcRange = obj.createTextRange();
oSel.setEndPoint("StartToStart", srcRange);
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length);
return reg.test(str);
}
//限制输入法是否允许打开
if(isChinese == null)
isChinese = false;
if(isChinese)
oObj.style.imeMode = "auto";
else
oObj.style.imeMode = "disabled";
//注册事件,在ie下时注册onkeypress,ff时改为注册onkeydown事件,要不无法获取event的keyCode
if(document.all)
{
oObj.onkeypress=function()
{
return regInput(this,reg,String.fromCharCode(event.keyCode));//输入时激发
}
}
else
oObj.onkeydown = EventHandler; //ff改为onkeydown事件
function EventHandler(e)//===========此为ff的方法
{
e=e||event;
if(e.ctrlKey)//禁止粘贴
return false;
//不为“<-键”,“Delete键”和方向键时
else if(e.keyCode!=8&&e.keyCode!=46&&e.keyCode!=37&&e.keyCode!=38&&e.keyCode!=39&&e.keyCode!=40)
return reg.test(String.fromCharCode(e.keyCode));
}
//下面为ie的方法,在ff下不知道怎么限制
oObj.onpaste = function()
{
return regInput(this,reg,window.clipboardData.getData('Text'));//粘贴时激发
}
oObj.ondrop = function(e)
{
e=e||event;
return regInput(this,reg,event.dataTransfer.getData('Text'));//拖拽时激发
}
}
//-->
</SCRIPT>
<script language="javascript">
function initForm()
{
regInputRestriction(document.getElementById('onlyNumber'),/^[0-9]*$/);
}
</script>
<BODY onLoad="initForm()">
<INPUT id="onlyNumber"> 只能输入数字 <br> <br>
</BODY>
</html>