弹出一个弹出框,输入值点击查询之后,我把弹出框页面表单的所有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")]); }
}
});
}
解决方案 »
- 紧急求助!如何更改nicEdit的大小
- 如何在vs2008里面调试js
- javascript activeXObject 调用系统声音命令(高手过招)
- javascript对xml数据库操作
- 如何使用 JS 控制 flash 从指定位置进播放.
- IE和火狐脚本判断机制问题,回答的出说明你已不是菜鸟级!!!散分
- Extjs中的按钮问题
- 为什么图片按钮在onMouseOver时反复下载图片?
- <在线等待>请问如何使一个窗口总在最上层(可拖动),但并不影响对下层页面的操作?
- 帮帮忙,javascript中调用的activeX控件怎么做啊?急救!!
- 关于html页面frameset框架隐藏问题!!急求答案
- 批量注册网站帐号原理
单步调试,看看那边出的问题,用firebug