關(guān)于文本框的一些限制控制總結(jié)~~
更新時(shí)間:2010年04月15日 18:28:13 作者:
關(guān)于文本框的一些限制控制總結(jié)~~
1.限制文本框不能輸入中文:
以前很多時(shí)候會(huì)去使用判斷去寫,比如:
function nocn(obj)
{
for(i=0;i<document.getElementsByName("Text1")[0].value.length;i++)
{
var c = document.getElementsByName("Text1")[0].value.substr(i,1);
var ts = escape(c);
if(ts.substring(0,2) == "%u")
{
document.getElementsByName("Text1")[0].value = "";
alert("這里不能輸入中文/全角字符");
}
}
}
但是很少會(huì)有人用ime-mode:disabled(用css實(shí)現(xiàn)關(guān)閉文本框輸入法)
ime-mode
語法:
ime-mode : auto | active | inactive | disabled
取值:
auto : 默認(rèn)值。不影響IME的狀態(tài)。與不指定 ime-mode 屬性時(shí)相同
active : 指定所有使用IME輸入的字符。即激活本地語言輸入法。用戶仍可以撤銷激活I(lǐng)ME
inactive : 指定所有不使用IME輸入的字符。即激活非本地語言。用戶仍可以撤銷激活I(lǐng)ME
disabled : 完全禁用IME。對(duì)于有焦點(diǎn)的控件(如輸入框),用戶不可以激活I(lǐng)ME
那么:
<input onpaste="return false;" type="text" name="textfield" style="ime-mode:disabled" value="">
ime-mode:disabled為禁用輸入法。
擴(kuò)展:
<SCRIPT LANGUAGE="JavaScript">
<!--
function change(oButton)
{
var obj = document.all.txt;
if(obj.style.imeMode == "disabled")
{
obj.style.imeMode = "active";
obj.value = "";
oButton.value = "屏蔽中文輸入法";
}
else
{
obj.style.imeMode = "disabled";
obj.value = "";
oButton.value = "激活中文輸入法";
}
}
//-->
</SCRIPT>
<INPUT TYPE="text" NAME="txt" style="ime-mode:disabled" style="ime-mode:disabled">
<INPUT TYPE="button" value="激活中文輸入法" onclick="change(this)">
自己琢磨琢磨哈~
2..限制文本框不能粘貼:
一般看到這個(gè)我們會(huì)有這樣的思路:禁用掉Ctrl鍵和C鍵,再禁用掉右鍵,就可以完美的禁用粘貼功能了。
那么需要寫JS文件了(此JS文件本博客有相關(guān)內(nèi)容)
其實(shí) onpaste="return false;" 就可以很完美的實(shí)現(xiàn)禁用粘貼,而且要注意,它禁用掉的是粘貼的功能,所以使用了這個(gè)屬性,即使不禁用掉右鍵,用戶也無法粘貼內(nèi)容。
那么:
<input onpaste="return false;" type="text" name="textfield" style="ime-mode:disabled" value="">
onpaste處為禁用粘貼。
以前很多時(shí)候會(huì)去使用判斷去寫,比如:
復(fù)制代碼 代碼如下:
function nocn(obj)
{
for(i=0;i<document.getElementsByName("Text1")[0].value.length;i++)
{
var c = document.getElementsByName("Text1")[0].value.substr(i,1);
var ts = escape(c);
if(ts.substring(0,2) == "%u")
{
document.getElementsByName("Text1")[0].value = "";
alert("這里不能輸入中文/全角字符");
}
}
}
但是很少會(huì)有人用ime-mode:disabled(用css實(shí)現(xiàn)關(guān)閉文本框輸入法)
ime-mode
語法:
ime-mode : auto | active | inactive | disabled
取值:
auto : 默認(rèn)值。不影響IME的狀態(tài)。與不指定 ime-mode 屬性時(shí)相同
active : 指定所有使用IME輸入的字符。即激活本地語言輸入法。用戶仍可以撤銷激活I(lǐng)ME
inactive : 指定所有不使用IME輸入的字符。即激活非本地語言。用戶仍可以撤銷激活I(lǐng)ME
disabled : 完全禁用IME。對(duì)于有焦點(diǎn)的控件(如輸入框),用戶不可以激活I(lǐng)ME
那么:
<input onpaste="return false;" type="text" name="textfield" style="ime-mode:disabled" value="">
ime-mode:disabled為禁用輸入法。
擴(kuò)展:
復(fù)制代碼 代碼如下:
<SCRIPT LANGUAGE="JavaScript">
<!--
function change(oButton)
{
var obj = document.all.txt;
if(obj.style.imeMode == "disabled")
{
obj.style.imeMode = "active";
obj.value = "";
oButton.value = "屏蔽中文輸入法";
}
else
{
obj.style.imeMode = "disabled";
obj.value = "";
oButton.value = "激活中文輸入法";
}
}
//-->
</SCRIPT>
<INPUT TYPE="text" NAME="txt" style="ime-mode:disabled" style="ime-mode:disabled">
<INPUT TYPE="button" value="激活中文輸入法" onclick="change(this)">
自己琢磨琢磨哈~
2..限制文本框不能粘貼:
一般看到這個(gè)我們會(huì)有這樣的思路:禁用掉Ctrl鍵和C鍵,再禁用掉右鍵,就可以完美的禁用粘貼功能了。
那么需要寫JS文件了(此JS文件本博客有相關(guān)內(nèi)容)
其實(shí) onpaste="return false;" 就可以很完美的實(shí)現(xiàn)禁用粘貼,而且要注意,它禁用掉的是粘貼的功能,所以使用了這個(gè)屬性,即使不禁用掉右鍵,用戶也無法粘貼內(nèi)容。
那么:
復(fù)制代碼 代碼如下:
<input onpaste="return false;" type="text" name="textfield" style="ime-mode:disabled" value="">
onpaste處為禁用粘貼。
相關(guān)文章
讓html的text輸入框只能輸入數(shù)字和1個(gè)小數(shù)點(diǎn)(0-59之間可改)
今天有同事需要這個(gè)功能,主要是限制用戶輸入不符合規(guī)范的數(shù)字與小數(shù)點(diǎn)導(dǎo)致不好計(jì)算價(jià)格問題,特整理了下面的代碼,需要的朋友可以參考下。2011-11-11得到文本框選中的文字,動(dòng)態(tài)插入文字的js代碼
得到文本框選中的文字,動(dòng)態(tài)插入文字的js代碼...2007-03-03javascript 操作select下拉列表框的一點(diǎn)小經(jīng)驗(yàn)
今天客戶對(duì)項(xiàng)目提出新需求,要求商品品牌不但能選擇,還要能夠錄入,而且錄入的品牌名稱必須是下拉列表框里面的相(由于商品品牌太多,不好選擇,所以有此要求;在此將我的處理方法記錄一下)。2010-03-03可實(shí)現(xiàn)多表單提交的javascript函數(shù)
可實(shí)現(xiàn)多表單提交的javascript函數(shù)...2007-08-08JavaScript 輸入框內(nèi)容格式驗(yàn)證代碼
當(dāng)鼠標(biāo)焦點(diǎn)移至密碼輸入框時(shí),利用js腳本自動(dòng)驗(yàn)證用戶名的格式正確與否2010-02-02