如下,就可以了:
<script>window.open("https://www.alipay.com/user/user_register.htm?support=000000&[email protected]&[email protected]&_fmu.u._0.q=1234567890-&_fmu.u._0.qu=1234567890-&_fmu.u._0.pa=1234567890-&_fmu.u._0.pay=1234567890-&_fmu.u._0.p=%CE%D2%B0%D6%B0%D6%C2%E8%C2%E8%B5%C4%C3%FB%D7%D6%B8%F7%CA%C7%CA%B2%C3%B4&_fmu.u._0.o=0000&_fmu.u._0.pr=%D5%C5%C8%FD%C0%EE%CB%C4&_fmu.u._0.u=2&_fmu.u._0.f=%C7%EB%CA%E4%C8%EB%C4%FA%B5%C4%B9%AB%CB%BE%C3%FB%B3%C6&_fmu.u._0.r=%D5%C5%CE%E5&_fmu.u._0.ca=%C9%ED%B7%DD%D6%A4&_fmu.u._0.car=123456789012345678&_fmu.u._0.m=13100001234&_fmu.u._0.ph=&_fmu.u._0.c=9881&_fmu.u._0.re=alipay&action=register_action&event_submit_do_register=anything")
</script>
解决方案 »
- 请js dojo高手帮忙
- jquery datepicker 可也设置宽度吗?救命啊,有哪位能帮帮忙?
- 鼠标放在div里移动,背景图片也会移动,这种效果怎么做?
- 回事浏览器的问题么?
- showModalDialog 刷新问题 期盼高人给以解答!!
- 如何使当前html页面最大化,我的意思是html页面的地址栏、状态栏、菜单栏全都没有的那种。
- window.close()在框架中怎么就不起作用了
- 求日志交叉得图形显示算法。
- 为什么我的提交的错误。请帮忙解决。我在线。
- jquery easyui datagrid pagesize问题
- 怎么让一个图片和TD的高度相同,想破头皮都不知道,请大家帮帮我
- 为什么我为增加的INPUT复选框增加name属性时不成功啊?
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JK:支持民族工业,尽量少买X货</title><style>
TD,INPUT{ font-size:12; }
</style>
</head><body bgcolor=EEEEEE>
<form name="frm" method=post >
<h4 align=center>JK的动态明细示例</h4>
<table align=center style="border: 1 solid #000000">
<tr><td bgcolor=CCCCCC>
说明:<br>
几乎所有的应用网站,都会有动态明细的处理,似乎不同的公司有不同的做法,<br>
1.先设定某些隐藏的明细,然后动态的显示隐藏,<br>
2.将动态明细放在一个multiple=ture的select里,选中一笔明细时将其相关值取出放在旁边修改<br>
3.动态增加HTML对象<br>
4.用一些控件<br>
等等<br>
在这几种里,如果数据量大(上千上万条)的,似乎只有第2种可以胜任,但是它也有自己的缺点:操作性不咋地;<br>
第4种(JK也不怎么了解)操作性与数据量都比较理想,可惜要修改安全设置,并且对使用控件的程序员也有了新的要求,控件的柔性有限,大家也很少使用。<br>
相对来说,只要数据量在一千条以内(整个页的input不超过10000),第三种可能更合适,程序也不算很烦,可以模块化,操作性也还过得去。<br>
<br>
本例采用第3种方法。功能有:<br>
1.数据导入导出框:数据导入导出时用到<br>
2.默认值行:输入新增行的预设值,按条件选择记录,一次修改多行时用到<br>
3.增加:复制预设行,增加到最后<br>
4.拆分:复制选中行,增加到选中行后面<br>
5.删除:删除选中行<br>
6.批选:选中所有满足条件的记录(如果没有条件,就全选),或取消选择<br>
7.自动加行:在最后一笔明细里输入向下键,自动增加一行<br>
8.批改:将选中列的预设值填入到所有的选中行的相应列里去<br>
9.提取:将选中行、选中列的信息导出到数据导入导出框<br>
10.填充:将数据导入导出框的信息导出到选中行、选中列里去<br>
11.动态明细在页面离开时保存,返回页面时这些信息还在(比如说存盘失败可以返回,其实实现方法很简单,可惜很多JS程序员以为只能用Cookie来近似实现)<br>
<br>
另外需要说明的是:直接使用本例是没有任何意义的,不过有几个功能有普遍用途。比如<font color=blue>上下键控制</font>与<font color=blue>动态明细保存</font>
</td>
</tr>
</table>
<table align="center" bordercolor=cccccc border=1 width=100% >
<tr>
<td width=500>
<textarea name="theDetailInfTextarea" style="width:100%;" rows=3></textarea>
</td>
<td align=right>
<input type="button" value="增加" class="bottom" onclick="addDetailProcess();">
<input type="button" value="拆分" class="bottom" onclick="copyDetailProcess();">
<input type="button" value="删除" class="bottom" onclick="delDetailProcess();">
<input type="button" value="完成" class="bottom" onclick="document.frm.submit();">
<br>
批选<input type="checkbox" onclick="selectDetailProcess(this.checked);">
自动加行<input type="checkbox" name="autoAddDetailCheckbox">
<input type="button" value="批改" class="bottom" onclick="modifyDetailProcess();">
<input type="button" value="提取" class="bottom" onclick="getDetailInfProcess();">
<input type="button" value="填充" class="bottom" onclick="setDetailInfProcess();">
</td>
</tr>
</table>
<div width=100% id=thedetailtableDIV>
<table align="center" bordercolor=cccccc border=1 onkeydown='keyDownControl(event.srcElement)' width=100% >
<tbody id="tbDetailPrepare">
<tr>
<td ><input type="checkbox" name="record_select" ></td>
<td ><input type="text" name="detail_id" value='' ></td>
<td ><input type="text" name="detail_name" value='' ></td>
</tr>
</tbody>
<tr bgcolor=eeeeee id="trDetailTitles">
<td ><input type=checkbox onclick="selectallcheckbox(this)"></td>
<td >明细ID<input type=checkbox name="colbox_detail_id"></td>
<td >明细NAME<input type=checkbox name="colbox_detail_name"></td>
</tr>
<tbody id="tbDetailUsed" >
<tr>
<td ><input type="checkbox" name="record_select" ></td>
<td ><input type="text" name="detail_id" value='' ></td>
<td ><input type="text" name="detail_name" value='' ></td>
</tr> <tr height=0 ><td colspan=100 height=0 > 合计</td></tr>
</tbody> </table>
</div>
</form><input name="theHistoryRecord" type=hidden value="">
</body></html>
window.onbeforeunload = fixHistory; function fixHistory() //记住历史
{
document.all("theHistoryRecord").value=document.all("thedetailtableDIV").innerHTML.replace(/\n/g,"");
} function historyOncemore() //恢复历史
{
if (document.all("theHistoryRecord").value!="")
{document.all("thedetailtableDIV").innerHTML=document.all("theHistoryRecord").value;
}
} function selectallcheckbox(obj) //全选或全不选
{
var tureorfalse=obj.checked;
var theDetail=tbDetailUsed.rows;
for(var i=0;i<theDetail.length-1;i++)
{
theDetail[i].all("record_select").checked=tureorfalse;
}
}
function addDetailProcess(afterRowIndex) //增加明细
{
var alltbDetailUsed= document.all("tbDetailUsed").rows;
var theFirstSelectedDetail;
if (afterRowIndex==null)
{
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked==true) {theFirstSelectedDetail=i;break;}
}
if (theFirstSelectedDetail==null) {theFirstSelectedDetail=alltbDetailUsed.length-2;}
}
else theFirstSelectedDetail=afterRowIndex;
var newRow = document.all("tbDetailPrepare").rows[0].cloneNode(true);
var desRow = alltbDetailUsed[theFirstSelectedDetail+1];
desRow.parentElement.insertBefore(newRow,desRow ); }
function copyDetailProcess() //拆分明细
{
var alltbDetailUsed= document.all("tbDetailUsed").rows;
var theFirstSelectedDetail;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked==true) {theFirstSelectedDetail=i;break;}
}
if (theFirstSelectedDetail==null) {alert("拆分操作之前请先选择一笔明细!");return false;}
var newRow = alltbDetailUsed[theFirstSelectedDetail].cloneNode(true);
var desRow = alltbDetailUsed[theFirstSelectedDetail+1];
desRow.parentElement.insertBefore(newRow,desRow ); }
function delDetailProcess() //删除明细
{
var alltbDetailUsed= document.all("tbDetailUsed").rows;
if (confirm("确定选择正确并且要将这些明细删除")==false) return false;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked==true)
{
document.all("tbDetailUsed").deleteRow(i);
i=i-1;
}
}
} function modifyDetailProcess() //批量修改
{
var i=0;
var j=0;
var k=0;
var theSelectedColName=new Array();
var theSelectedColValue=new Array();
var theColboxs=document.all("trDetailTitles").getElementsByTagName("input");
var theDetailPrepareTr=document.all("tbDetailPrepare").rows[0];
for (j=1;j<theColboxs.length;j++)
{
if ((theColboxs[j].name.substr(0,7)=="colbox_")&&theColboxs[j].checked)
{
theSelectedColName[theSelectedColName.length]=theColboxs[j].name.substr(7,100);
theSelectedColValue[theSelectedColValue.length]=theDetailPrepareTr.all(theColboxs[j].name.substr(7,100)).value;
}
}
if (theSelectedColName.length==0) {alert("您没有选择需要修改的列!");return false;}
if (!confirm("真的要批量修改?")) return false;
var alltbDetailUsed= document.all("tbDetailUsed").rows;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked)
{
for (j=0;j<theSelectedColName.length;j++)
{
alltbDetailUsed[i].all(theSelectedColName[j]).focus();
alltbDetailUsed[i].all(theSelectedColName[j]).value=theSelectedColValue[j];
alltbDetailUsed[i].all(theSelectedColName[j]).select();
}
}
}
}
{
var i=0;
var j=0;
var theSelectedColName=new Array();
var theSelectedColValue=new Array();
var theColboxs=document.all("trDetailTitles").getElementsByTagName("input");
var theDetailInf="";
for (j=1;j<theColboxs.length;j++)
{
if ((theColboxs[j].name.substr(0,7)=="colbox_")&&theColboxs[j].checked)
{
theSelectedColName[theSelectedColName.length]=theColboxs[j].name.substr(7,100);
}
}
if (theSelectedColName.length==0) {alert("您没有选择提取列!");return false;}
var alltbDetailUsed= document.all("tbDetailUsed").rows;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked)
{
for (j=0;j<theSelectedColName.length;j++)
{
theDetailInf=theDetailInf+alltbDetailUsed[i].all(theSelectedColName[j]).value+";";
}
theDetailInf=theDetailInf+"\n";
}
}
document.all("theDetailInfTextarea").innerText=theDetailInf;
} function setDetailInfProcess() //填充
{
var i=0;
var j=0;
var theSelectedColName=new Array();
var theColboxs=document.all("trDetailTitles").getElementsByTagName("input");
var alltbDetailUsed= document.all("tbDetailUsed").rows;
var theDetailInf="";
var theColsNum=0;
var theRowsNum=0;
for (j=1;j<theColboxs.length;j++)
{
if ((theColboxs[j].name.substr(0,7)=="colbox_")&&theColboxs[j].checked)
{
theSelectedColName[theSelectedColName.length]=theColboxs[j].name.substr(7,100);
}
}
if (theSelectedColName.length==0) {alert("您没有选择填充列!");return false;}
theColsNum=theSelectedColName.length; theDetailInf=document.all("theDetailInfTextarea").innerText.replace(/\t/g,";");
if(theDetailInf.length==0)
{
alert("没有信息可以填充");
return false;
} var theDetailInfRow=theDetailInf.split("\n");
var theDetailInfCell;
theRowsNum=theDetailInfRow.length;
if(theRowsNum>1000) theRowsNum=1000;
for(i=0;i<theRowsNum;i++)
{
theDetailInfCell=theDetailInfRow[i].split(";");
if (theDetailInfCell.length<theColsNum) break;
}
theRowsNum=i;
if(!confirm("填充行数为"+theRowsNum+";填充列数为"+theColsNum+"\n请确认!")) return false;
k=0;
for(var i=0;(i<alltbDetailUsed.length-1)&&(k<theRowsNum);i++)
{
if (alltbDetailUsed[i].all("record_select").checked)
{
theDetailInfCell=theDetailInfRow[k++].split(";");
for (j=0;j<theSelectedColName.length;j++)
{
alltbDetailUsed[i].all(theSelectedColName[j]).focus();
alltbDetailUsed[i].all(theSelectedColName[j]).value=theDetailInfCell[j];
alltbDetailUsed[i].all(theSelectedColName[j]).select();
}
}
}
}
function selectDetailProcess(trueOrFalse) //按条件批量选中
{
if (trueOrFalse!=false) trueOrFalse=true;
var i=0;
var j=0;
var theSelectedColName=new Array();
var theSelectedColValue=new Array();
var theColboxs=document.all("trDetailTitles").getElementsByTagName("input");
var theDetailPrepareTr=document.all("tbDetailPrepare").rows[0];
for (j=1;j<theColboxs.length;j++)
{
if ((theColboxs[j].name.substr(0,7)=="colbox_")&&theColboxs[j].checked)
{
theSelectedColName[theSelectedColName.length]=theColboxs[j].name.substr(7,100);
theSelectedColValue[theSelectedColValue.length]=theDetailPrepareTr.all(theColboxs[j].name.substr(7,100)).value;
}
}
var alltbDetailUsed= document.all("tbDetailUsed").rows;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
var theTrWillBeSelected=true;
for (j=0;j<theSelectedColName.length;j++)
{
if (alltbDetailUsed[i].all(theSelectedColName[j]).value!=theSelectedColValue[j])
{
theTrWillBeSelected=false;break;
}
}
if (theTrWillBeSelected) alltbDetailUsed[i].all("record_select").checked=trueOrFalse;
}
}
function keyDownControl(obj) //用于控制明细里的上下键。只控制input
{
if(obj.tagName!="INPUT"||obj.name=="") return true;
k=event.keyCode;
if(!(k==38||k==40)) return true;
var theSamenameInputs=document.all(obj.name);
var i=0;
if (theSamenameInputs.length>1)
{
for (i=0;i<theSamenameInputs.length;i++)
{ if (theSamenameInputs[i]==obj) break; }
}
if((i==theSamenameInputs.length-1)&&(k==40))
{
if(document.all("autoAddDetailCheckbox")!=null&&document.all("autoAddDetailCheckbox").checked)
addDetailProcess(theSamenameInputs.length-2);
}
if((i>0)&&(k==38))
{
theSamenameInputs[i-1].select();
theSamenameInputs[i-1].focus();
event.returnValue=false;
return false;
}
if((i<theSamenameInputs.length-1)&&(k==40))
{
theSamenameInputs[i+1].select();
theSamenameInputs[i+1].focus();
event.returnValue=false;
return false;
}
}</script>
你点击按纽之后,需要加的内容是什么?如果是预先定义好的,那么就可以用obj.value = text来设定。但是你需要填写的内容来源是哪?
大意是javascript:document.getelementById("aaa").value=***;.....void(0);
再copy此js语句。
再打开网络上的页面后,在地址栏上粘贴这句话再回车,它就修改了页面上的相应控件的值
上面那个aaa,是网络页面上的某个文本框的id。
也可以把js写得更好些,比如,得到'姓名'的下一列的firstChild,再设置它的值.
意思就是这样,不懂再回复.
分不多,我就不写Demo了.累哦. 嘿嘿...