`

javascript 做表单选择性提交时的收获与疑问

阅读更多

<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 后面都有一个.     其中有两个是 "登陆名:",   "密码:",其余的呢.

 

分享到:
评论

相关推荐

    javascript方式防止表单重复提交

    JavaScript作为客户端脚本语言,可以通过多种策略来防止用户意外或恶意地多次提交表单。以下是一些关键的知识点: 1. **禁用提交按钮**:最简单的预防方法是在用户点击提交按钮后立即将其禁用。这可以通过监听`...

    javascript 表单日期选择

    在JavaScript中,表单日期选择是一项常见的功能,用于获取用户输入的日期信息。这通常涉及到HTML5中的`&lt;input type="date"&gt;`元素,以及JavaScript的DOM操作和事件处理来增强用户体验。本篇文章将深入探讨如何使用...

    表单设计Javascript工具

    3. **事件处理**:利用JavaScript的事件监听器,可以在用户与表单交互时执行特定操作,如点击按钮时提交表单或显示错误提示。 4. **表单提交**:JavaScript可以实现无刷新提交,通过AJAX技术将表单数据发送到服务器...

    javascript表单验证方式一

    本文将深入探讨"javascript表单验证方式一",介绍如何利用JavaScript进行表单验证,确保用户输入的数据符合预设规则,提高用户体验,同时也减轻了服务器端的压力。 首先,表单验证的基本目标是检查用户在HTML表单中...

    javascript经典特效---用链接来提交表单.rar

    在JavaScript的世界里,表单提交通常通过`&lt;form&gt;`元素的`submit`事件来实现,但有时为了提供更友好的用户体验或特殊的交互效果,我们可能会选择使用链接(`&lt;a&gt;`标签)来触发表单的提交。这个"javascript经典特效---...

    javascript表单事件汇总

    在深入探讨《javascript表单事件汇总》这一主题之前,我们首先需要理解JavaScript作为一种广泛应用于网页开发的脚本语言,如何通过处理各种事件来增强用户体验、实现动态交互效果。本文将详细解析一系列重要的...

    基于JavaScript的表单验证.zip

    在表单验证中,JavaScript可以通过监听表单的`submit`事件来阻止默认提交行为,然后逐个检查输入字段的值。可以使用`document.getElementById`或`document.querySelector`等方法获取表单元素,再利用`value`属性获取...

    使用JavaScript 完成表单的自动计算

    总结,通过JavaScript实现表单的自动计算,不仅可以提高用户在填写表单时的效率,还能增强网页的交互性。掌握这些技巧,可以让你的网页变得更加智能和用户友好。实践中,还可以结合实际需求进行更多定制化的设计,让...

    javascript表单美化和验证插件

    JavaScript 表单美化和验证插件是Web开发中不可或缺的一部分,尤其在构建用户友好且具有交互性的网页时。这类插件通常提供丰富的功能,以提升表单的视觉吸引力和用户体验,同时确保数据的有效性。本插件具备以下关键...

    原生Javascript开发让你的表单亮起来

    原生JavaScript开发能帮助我们更好地控制和美化这些表单,使其更具交互性和吸引力。本文将深入探讨如何利用JavaScript来提升表单的用户体验,使其“亮起来”。 一、表单事件处理 原生JavaScript允许我们直接对表单...

    js提交表单的三种方式

    在JavaScript中,提交表单是网页交互中的常见操作,它允许用户输入数据并将其发送到服务器进行处理。这里我们将详细探讨三种主要的表单提交方式:默认的HTML表单提交、JavaScript事件处理以及Ajax异步提交。 1. **...

    js提交表单及js表单验证

    本文将详细解释如何使用JavaScript进行表单提交以及表单验证,并通过具体的示例代码来展示各种常见验证方法。 #### 一、基本概念 表单验证是指在用户提交表单前对用户输入的数据进行检查的过程,以确保数据的有效...

    简单的表单提交代码

    常见的JavaScript表单事件有`onsubmit`、`onchange`、`onclick`等。例如,可以使用`event.preventDefault()`阻止表单的默认提交,然后通过Ajax异步提交数据。 4. **CSS样式设计** css文件用于美化表单界面,包括...

    批量提交表单JS

    批量提交表单JS的核心概念是利用JavaScript对多个表单数据进行处理,然后一次性发送到服务器。传统的HTML表单提交会刷新整个页面,而使用JS的批量提交则可以在不刷新页面的情况下完成,提供更好的用户体验。 jQuery...

    防止用户表单重复提交处理

    例如,可以添加一个事件监听器,在表单提交时更改按钮的disabled属性。 ```javascript document.getElementById('submitBtn').addEventListener('click', function(e) { e.preventDefault(); // 阻止默认的表单提交...

    复杂表单的验证提交解决方案

    在Web开发中,复杂表单的验证提交是一个关键环节,特别是在JavaScript开发中,它涉及到用户输入的准确性、安全性和用户体验。下面将详细讲解这个主题,包括表单验证的重要性、常用的验证方法、JavaScript验证技巧...

    js表单验证大全,js提交表单

    - `javascript提交表单__超超聊事.files`: 可能是一份关于JavaScript表单提交技术的详细讲解资料。 7. **最佳实践** - 提供即时反馈:验证时应立即通知用户输入是否有效。 - 清晰的错误信息:明确指出错误位置和...

    jquery实现弹窗表单填写提交

    表单填写完成后,提交表单通常是通过JavaScript阻止默认的表单提交行为,然后使用Ajax发送表单数据到服务器。这里涉及的jQuery知识点包括`event.preventDefault()`防止页面刷新,以及`$.ajax()`进行异步请求: ```...

    JavaScript日历代码,验证页面表单输入数据代码

    1. 表单事件:如onsubmit、onchange等,这些事件可以在用户提交表单或更改输入时触发验证。 2. 验证函数:编写函数来检查输入值的格式、长度、有效性,例如邮箱、电话号码、日期等。 3. 错误提示:当验证失败时,向...

    form多表单同时提交以及支持下拉框可编辑源码

    根据给定文件的信息,本文将深入探讨如何在Web应用中实现多表单的同时提交功能,以及如何使用JavaScript来增强下拉框的可编辑性(包括删除、修改与新增选项),并实现聚焦等交互功能。 ### 多表单同时提交 在实际...

Global site tag (gtag.js) - Google Analytics