通過JS改變複選框的值
j$(function(){
document.getElementById(id).checked = true;
})
通過JS改變下拉清單框的值
j$(function(){
j$("#id").val("......"));
})
函數的主要目的是想知道form表單中的值有沒有被改變,原來的函數采用的是if…else/if結構,在這裡,我還是把代碼貼出來吧:
function IsFormChanged(name) {
var isChanged = false;
// var form = document.getElementById(name);
var form = document.forms[name];
for (var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
var type = element.type;
if (type == "text" || type == "hidden" || type == "textarea" || type == "button") {
if (element.value != element.defaultValue) {
isChanged = true;
alert("1");
break;
}
} else if (type == "radio" || type == "checkbox") {
if (element.checked != element.defaultChecked) {
isChanged = true;
alert("2");
break;
}
} else if (type == "select-one"|| type == "select-multiple") {
for (var j = 0; j < element.options.length; j++) {
if (element.options[j].selected != element.options[j].defaultSelected) {
isChanged = true;
alert("3");
break;
}
}
} else {
//etc...
}
}
alert( isChanged?"你改變了表單的預設值":"表單的值沒有改變");
return isChanged;
}
var Form={
IsFormChanged:function(id){
/*IsFormChangedCase這個函數我本來是放在外面的,和IsFormChanged的級别是一樣的,
但是現在隻有IsFormChanged這個函數使用這個,其原因是因為switch和for中都是用break的緣故,
是以,我最終把這個函數作為IsFormChanged函數的一個變量來使用。
*/
var IsFormChangedCase=function(element){
var isChanged = false;
switch(element.type){
case "text":
case "hidden":
case "textarea":
case "button":
if(element.value != element.defaultValue)
isChanged= true;
break;
case "radio":
case "checkbox":
if(element.checked != element.defaultChecked)
isChanged= true;
break;
case "select-one":
case "select-multiple":
for (var j = 0; j < element.options.length; j++){
if(element.options[j].selected != element.options[j].defaultSelected){
isChanged= true;
break;
}
}
break;
}
return isChanged;
};
var str=false;
var form = document.getElementById(id);
for (var i = 0; i < form.elements.length; i++){
var element = form.elements[i];
if(IsFormChangedCase(element)){
str=true;
break;
}
}
return str;
}
}
//這個隻是測試函數
function test()
{
var ret=Form.IsFormChanged("frm2");
alert( ret?"你改變了表單的預設值":"表單的值沒有改變");
return ret;
}