有些网站允许用户修改表单(如修改用户资料),如果用户没有修改则不需要将表单提交给服务器,如果修改了,则需要与服务器进行数据交互。本例演示如何判断用户是否对表单进行了修改。
<form>
<input name="txt1" value="10"><br />
<input name="txt2" value="20"><br />
<input type="checkbox" value="5" />
<input type="button" id="btnSave" value="保存" />
</form>
JavaScript function IsModified() {
var result = false;
var totalInput = $("input");
for (var i = 0; i < totalInput.length; i++) {
if (totalInput[i].value != totalInput[i].defaultValue)//判断输入的值是否等于初始值
{
result = true;
}
}
var totalSelect = $("select"); //下拉框(如果有)
for (var i = 0; i < totalSelect.length; i++) {
// if (totalSelect[i].value != totalSelect[i].selectedOptions["0"].defaultSelected)//判断输入的值是否等于初始值
if (!totalSelect[i].selectedOptions["0"].defaultSelected) //是默认选择,那就没修改..加个!就是有改变
{
result = true;
}
}
return result;
}
按钮中函数调用:
if (!IsModified())
{
layer.msg("未做修改!");
return false;
}
“defaultValue”属性是文本框的默认值,可以通过文本框的“Value”属性获取改变后的值。通过比较这两个值可以判断文本是否发生变化。