<script>
var s ="";
function show(node)
{
if(node.id)
s = s+ node.id +"/ ";
else if (node.nodeName)
s=s+node.nodeName +"# ";
else
s = s+ node.nodeValue + "$ ";
if( node.childNodes && node.childNodes.length>0)
{
for(var i= 0;i<node.childNodes.length;i++)
{
show(node.childNodes[i]);
}
}
return s;
}
function aa()
{
var nodes = document.getElementById("body");
document.write("<pre>"+show(nodes)+"</pre>");
//alert(event.srcElement.id);
alert(event.srcElement.parentNode.id);
//document.getElementById('loginform').action =event.srcElement.parentNode.action;
return true;
}
</script>
<body id="body">
<form id="loginform" action="http://space.englishcn.com/batch.login.php?action=login" method="post">
<input type="hidden" name="username" id="username" value="jiang" />
<input type="hidden" name="password" id="passdword" value="111d111"/>
<input type="submit" value="space.engliscn"/>
<form>
<form method="post" action="/login.php?index=index&type=new" target="iframe_data" name="form_login" id="form_login" style="margin:0;padding:0;" >
登录名:<input type="text" size="8" name="loginname" class="Input01" value='tradrevo'/>
密码:<input size="8" type="password" name="password" id="passwd" class="Input01" value="111111" />
<input id="sinasubmit" type="button" onclick="return aa();" value="blog.sina"/>
<form>
</body>
今天想做一个快速登陆的网页.点击 space.engliscn 时 登陆 engliscn 博客 ,点击blog.sina时登陆 新浪博客。
但是每次都登陆到 englishcn 上去了。也就是每次提交的表单都是第一个。
想到的第一个解决方法 把第一个表掸的action 设成新浪的(event.srcElement.parentNode.action);
结果还是到 englishcn . 跟踪一看 event.srcElement.parentNode.action 本身就是 englishcn 的地址.event.srcElement是新浪的按钮,event.srcElement.parentNode 却是englishcn 的form .很奇怪.很奇怪.
想到的第二个解决方法 表单对象.submit();
document.getElementById('loginform').submit()-->englishcn.
document.getElementById(form_login).submit()-->对象不支持此方法.
无奈
递归打印body 的节点
body/ loginform/ username/ #text# passdword/ #text# INPUT# #text# FORM# form_login/ #text# INPUT# #text# passwd/ #text# sinasubmit/ #text# FORM#
发现nodeName 为 #text的东西. 每个input 后面都有一个. 其中有两个是 "登陆名:", "密码:",其余的呢.