您的位置:首页 > Web前端 > JavaScript

JS判断form内元素是否被修改过

2012-02-17 01:31 330 查看
JS判断form内元素是否被修改过的脚本:
1.当元素值被修改后,会提示被修改。
2.当元素值被修改后,然后进行还原修改。会提示没有修改。
3.第2条目前不适用于radio。敬请感兴趣的高人完善。

<script>
/*
------------------------
Project:判断form内元素是否被修改过
------------------------
Author: Missde
link: www.missde.cn
Date: 2007-3-23
BUG: 对单选钮的判断需要完善。
*/

function ee(e){
e = e || window.event;
return(e.srcElement || e.target);
}
function check_edit(o){
for(var i=0; i<o.elements.length;i++){
var targ = o.elements[i];
if(targ.bak!=undefined){
var type=targ.type;
var n=((type=="radio"|| type=="checkbox")?targ.checked:targ.value)+"";
if(n!=targ.bak)returntrue;
}
}
returnfalse;
}
function editinput(e){
var targ = ee(e);
var bak=targ.bak;
if(bak!=undefined)returnfalse;
var name=targ.nodeName.toLowerCase();
var type=targ.type?targ.type.toLowerCase():"";
if(name!="input"&& name!="select"&& name!="textarea")returnfalse;
targ.bak=((type=="radio"|| type=="checkbox")?targ.checked:targ.value)+"";

}
function c_form(o){
if(!check_edit(o))alert("××××没有修改");
else alert("√√√√进行过修改");
returnfalse;
}
</script>
<pre>
------------------------
Project: 判断form内元素是否被修改过
------------------------
Author: Missde
link: www.missde.cn
Date: 2007-3-23
BUG: 对单选钮的判断需要完善。
</pre>

<formmethod="post"onmouseover="editinput(event)"onsubmit="return c_form(this)">
<inputtype="text"value="a">
<inputtype="text"value="b">
<inputtype="text"value="c">

<divstyle="background:#eee"><hr/>
本版本对(单选钮)的判断不正确。感兴趣的高人,可以完善一下。<br/>
<inputtype="RADIO"value="1"name="radio">
<inputtype="radio"value="2"name="radio"checked>
<inputtype="radio"value="3"name="radio">
<inputtype="radio"value="4"name="radio">
<inputtype="radio"value="5"name="radio">
<inputtype="radio"value="6"name="radio">
<hr/>
</div>
<inputtype="checkbox"value="1"name="cbox">
<inputtype="checkbox"value="2"name="cbox"checked>
<inputtype="checkbox"value="3"name="cbox">
<hr/>
<select>
<optionvalue="a">a</option>
<optionvalue="b">b</option>
<optionvalue="c">c</option>
<optionvalue="d">d</option>
<optionvalue="e">e</option>
<optionvalue="f">f</option>
</select>
<hr/>
<textarea>ddd</textarea>
<hr/>
<inputtype="reset"value="还原">
<inputtype="submit"value="检测是否有过修改">
</form>

(原文地址:http://www.missde.cn/missde/zuopin/JSpanduanformedittags.htm)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: