弹出一个弹出框,输入值点击查询之后,我把弹出框页面表单的所有input框的值保存到一个obj对象里面,当我再弹出来这个弹出框,我把之前保存在obj对象的值重新赋到弹出框的对应的input框里,IE上可以设置上去,火狐不行
<form id="aa" action="">
<table>
<tr>
<td><input id="aa" type="text"/></td>
<td><input id="bb" type="text"/></td>
<td><input id="cc" type="text"/></td>
</tr>
</table>
</form>
copyToObject:function(formId,obj){//这个是保存input框里面的值放到obj对象里面
obj=obj||{};
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
obj[item.attr("name")]=item.val();
});
return obj;
}
copyToForm:function(obj, formId, filterName){//这个是将之前保存的值重新赋值在对应的input框上
if(!filterName){filterName="_gci";}
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
if(item.attr("name")){
if(obj[item.attr("name")]==null || obj[item.attr("name")]==""){
item.val("");
}else{
item.val(obj[item.attr("name")]);
}
}
});
}
更改代码之后火狐上可以将obj对象里面的值赋到对应的input框里面,但是我重置input框里面的值之后,之前的值还赋在对应的input框上面,没有清空掉copyToForm:function(obj, formId, filterName){//这个是将之前保存的值重新赋值在对应的input框上
if(!filterName){filterName="_gci";}
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
if(item.attr("name")){
if(obj[item.attr("name")]==null || obj[item.attr("name")]==""){
item.val("");
}else{
this.setAttribute("value",obj[item.attr("name")]); }
}
});
}
<form id="aa" action="">
<table>
<tr>
<td><input id="aa" type="text"/></td>
<td><input id="bb" type="text"/></td>
<td><input id="cc" type="text"/></td>
</tr>
</table>
</form>
copyToObject:function(formId,obj){//这个是保存input框里面的值放到obj对象里面
obj=obj||{};
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
obj[item.attr("name")]=item.val();
});
return obj;
}
copyToForm:function(obj, formId, filterName){//这个是将之前保存的值重新赋值在对应的input框上
if(!filterName){filterName="_gci";}
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
if(item.attr("name")){
if(obj[item.attr("name")]==null || obj[item.attr("name")]==""){
item.val("");
}else{
item.val(obj[item.attr("name")]);
}
}
});
}
更改代码之后火狐上可以将obj对象里面的值赋到对应的input框里面,但是我重置input框里面的值之后,之前的值还赋在对应的input框上面,没有清空掉copyToForm:function(obj, formId, filterName){//这个是将之前保存的值重新赋值在对应的input框上
if(!filterName){filterName="_gci";}
var fields=$("#"+formId+" :input");
fields.each(function(index,domObj){
var item=$(domObj);
if(item.attr("name")){
if(obj[item.attr("name")]==null || obj[item.attr("name")]==""){
item.val("");
}else{
this.setAttribute("value",obj[item.attr("name")]); }
}
});
}
单步调试,看看那边出的问题,用firebug