`

JavaScript中取到form的值的方法

阅读更多

如有以下代码:

<form action="get.do" method="post" id="fi" name="fn">
			username:<input type="text" id="username"/><br/>
			password:<input type="password" id="password"/><br/>
			<input type="submit" value="submit">
</form>

 
可以通过以下三种方式(我所知道的)来取到值:
var show = document.fn.elements['username'].value;//注意这里fn是form的名字,而不是id
var show = document.getElementById('username').value;
var show = fi['username'].value;//fi是form的id号码

 

在百度悬赏20分拿到一个很不错的答案:

 

1、通过对象的位置来引用,如下:
var msg=document.forms[0].elements[0].value; 
2、通过name属性访问文档对象:
var msg=document.myForm.myText.value; //设name="myForm"和="myText"
3、通过id属性访问文档对象:
var msg=document.getElementById('myText'); 
4、通过联合数组访问文档对象:
var msg=document.forms['myForm'].elements['myText'].value; //只支持火狐!
var msg=document.forms('myForm').elements('myText').value; //只支持IE!
5、通过IE提供的item()方法访问文档对象:
var msg=document.forms.item("myText"); 
6、通过元素标签返回指定对像:
var msg=document.getElementsByTagName("tr"); //参数可以为'*',表示找所有的元素对象 
7、多对象数组时可分步访问:
var myObj=document.objects; 
var msg=myObj[i].value; 
8、访问对象的所有子对象:
for (i=0;i<example.childNodes.length;i++) //example为假设对象 
msgs=example.childNodes.item(i).nodeName;
或: 
for (i=0;i<example.childNodes.length;i++) //example为假设对象 
msgs=example.childNodes[i].nodeName;

window为浏览器窗口对象,为文档提供显示容器,即与浏览器相关,如窗口的大小和关闭窗口等属性及方法,属于最顶级对象...
document与上不同,即与当前载入的文档相关,包括当前浏览器窗口或框架区域中的所有内容,包含文本域,按钮...等HTML页面可访问元素.
element文档中的元素对象,是可见的,或者说是标签,不同于Node对象,这是我自已的理解,或许有不确切这处,请提出来,哈哈

分享到:
评论
57 楼 yjl6691088 2011-02-04  
bepatient 写道
風一樣的男子 写道
这帖子不是一般的水

首先,这帖子上主页不是我做主的,我只是在这里记下我的笔记而已;
其次,再“水”的帖子对有些人也是有帮助的,哪个老鸟不是从菜鸟走过来的;
最后,你们在这里放“这些话”显得你们很没有素质。


首先,记笔记有博客。
其次,既然发帖就要有被喷的觉悟。
最后,这种问题搜一下一大把,多动脑,勤懂手。共勉...
56 楼 wjyuian 2011-02-03  
我觉得javascript里面,没指定是getXXXById,一般都是按照name来获取元素dom对象,或其数组。。
不能用其他js框架的情况下,只能用原生的js,不过自己可以写个很简单的选择器来操作。

如果可以用框架的话,个人觉得jQuery不错,选择器够强大,只要想的到的选择方式,其选择器都能满足,又有强大的筛选选择器。。而且兼容性也基本没问题。。毕竟是经历过大风大浪的js框架
55 楼 kyfxbl 2011-01-25  
我指的是LZ的头像
54 楼 kyfxbl 2011-01-25  
这个良好帖相当良好
53 楼 xiaojing3517 2010-07-05  
風一樣的男子 写道
bepatient 写道
風一樣的男子 写道
这帖子不是一般的水

首先,这帖子上主页不是我做主的,我只是在这里记下我的笔记而已;
其次,再“水”的帖子对有些人也是有帮助的,哪个老鸟不是从菜鸟走过来的;
最后,你们在这里放“这些话”显得你们很没有素质。


。。。
我只是说帖子很水,你激动啥?怎么就牵扯素质问题了?
当然,再简单的问题也有人不知道
这很正常,但我说水我只是认为这个问题太简单
稍微会点JavaScript的人都知道
为什么就那么激动?动不动就要上纲上线?

楼主说话句句不离素质,但是鄙人眼挫,却没看出来楼主所说的素质在哪里。
52 楼 lobbychmd 2010-07-05  
如果做 asp.net 很真很多人不用 id 和 name 。。。
51 楼 風一樣的男子 2010-07-05  
另外我从不提倡 IE Only 写法
那么多写法,其实 document.getElementById('id') 就够我用了
50 楼 風一樣的男子 2010-07-05  
bepatient 写道
風一樣的男子 写道
这帖子不是一般的水

首先,这帖子上主页不是我做主的,我只是在这里记下我的笔记而已;
其次,再“水”的帖子对有些人也是有帮助的,哪个老鸟不是从菜鸟走过来的;
最后,你们在这里放“这些话”显得你们很没有素质。


。。。
我只是说帖子很水,你激动啥?怎么就牵扯素质问题了?
当然,再简单的问题也有人不知道
这很正常,但我说水我只是认为这个问题太简单
稍微会点JavaScript的人都知道
为什么就那么激动?动不动就要上纲上线?
49 楼 cpdw 2010-07-05  
支持LZ,有些人就是不知所谓,可能觉得一个form取值有什么可说的。所有的技术都是由1+1=2这样的简单问题组合而成,天外有天,人外有人,每个人都有很多不懂的,但却非常基础的问题。不要瞧不起任何一个小问题。我相信,任何人不会是生下来就知道html是什么东西,都是慢慢学会的。JavaEye是java爱好者的社区,不是你们这些所谓java“高手”臭显摆的地方,如果你们真有本事,我相信绝不会到这来回复这些废话。我没本事,只会逛逛论坛,如果“高手”们看不惯,请离开我们的社区,谢谢。
48 楼 wv1124 2010-07-04  
菜鸟贴,哈哈
47 楼 Jie_Jie 2010-07-04  
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

JE 人不如以前了....
46 楼 fireflyman 2010-07-04  
JE,唉~~
45 楼 Asdpboy 2010-07-04  
此贴乃良好帖也!
44 楼 wskhkhtd 2010-07-03  
主流采用下面的方式获取页面元素值,简单才是硬道理
var username=$("username").value;
var password=$("password").value;
43 楼 nbkangta 2010-07-03  
beijing2009 写道
bepatient 写道
zhao103804 写道
这样不就取到了吗
var show = document.fn.username.value;//
为什么要这样写呢
var show = document.fn.elements['username'].value;//

嗯,果然这种比较方便。谢了。
请教您一个问题:以上var show = document.fn.username.value;fn是name,username是id,这个怎么区别,怎么理解呢?这个id和name老师混淆了。请您赐教!

关于name和id的区别
id语法:
HTML <ELEMENT ID = sID... > 
Scripting :object.id [ = sID ]

“The id should be unique throughout the scope of the current document. If a document contains more than one object with the same identifier, the objects are exposed as a collection that can be referenced only in ordinal position.”
name语法:
HTML <ELEMENT NAME = sName... > 
Scripting: object.name [ = sName ]

在摘要中没有上面加引号那一段

所以,上面的情况你用name和id效果都是一样的


在IE中,可以直接把name或者ID当做window的变量来引用,但是经常会出现ID和name混淆的情况
42 楼 kjj 2010-07-03  
windchill_java 写道
mp_juan 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

赞同


赞同,应该说终于放下了高傲的姿态,开始向一般大众靠拢了
41 楼 beijing2009 2010-07-02  
bepatient 写道
zhao103804 写道
这样不就取到了吗
var show = document.fn.username.value;//
为什么要这样写呢
var show = document.fn.elements['username'].value;//

嗯,果然这种比较方便。谢了。
请教您一个问题:以上var show = document.fn.username.value;fn是name,username是id,这个怎么区别,怎么理解呢?这个id和name老师混淆了。请您赐教!

关于name和id的区别
id语法:
HTML <ELEMENT ID = sID... > 
Scripting :object.id [ = sID ]

“The id should be unique throughout the scope of the current document. If a document contains more than one object with the same identifier, the objects are exposed as a collection that can be referenced only in ordinal position.”
name语法:
HTML <ELEMENT NAME = sName... > 
Scripting: object.name [ = sName ]

在摘要中没有上面加引号那一段

所以,上面的情况你用name和id效果都是一样的
40 楼 xiaojing3517 2010-07-02  
楼主句句不离素质,话说素质到底是个啥啊?哎,素质,素质
39 楼 chris_zley 2010-07-02  
红字才是亮点

document.formname直接访问到form节点了,楼主你说的3中方法平时我基本没用过
38 楼 化蝶自在飞 2010-07-02  
从这么多帖子里,我分明看出了人云亦云这么一个词.

相关推荐

    JavaScript中获取Radio被选中的值

    原理就是:一般使用遍历的方法,判断每个Radio是否被选中,如果是,再取其值. &lt;form id=userlist method=post action=option.php&gt; &lt;input type=radio name=userid value=1&gt;1 &lt;input type=radio name=...

    multipartform-data 参数传递

    这个表单使用`POST`方法,并且使用了`multipart/form-data`作为其`enctype`属性值,这表明该表单可以用来上传文件。 #### 标签解析 - **multipart/form-data**:如上所述,这是一种特定的表单数据编码类型,用于...

    jquery获取表单值

    在Web开发中,jQuery作为一个非常流行的JavaScript库,简化了许多复杂的DOM操作,特别是对于表单数据的获取与处理方面提供了极大的便利。本文将详细讲解如何使用jQuery来获取不同类型的表单控件(如文本框、文本域、...

    代理中Domino对域的解析和GetItemValue使用方法

    本文将详细介绍如何在代理程序中通过LotusScript和JavaScript两种脚本语言来获取和解析不同类型的域,特别关注`GetItemValue`方法的使用以及对富文本域(Rich-Text Field)和其他常见域类型(如文本域、单选框、复选...

    JavaScript和ASP.NET的传值

    2. **服务器控件取JavaScript中变量的值**:ASP.NET服务器端无法直接访问JavaScript变量,但可以通过隐藏字段或调用WebMethod来实现。例如,可以在JavaScript中设置一个隐藏字段的值,然后在服务器端通过`Request....

    form提交的集中方式

    本文档将详细介绍三种常见的JavaScript库jQuery中处理表单提交的方法,包括$.post()、$.ajax()以及使用jquery.form.js库的ajaxForm()。 1. **$.post()** 方法: $.post()是jQuery提供的一个简洁的Ajax方法,专门...

    JSP避免Form重复提交的三种方案

    JSP 避免 Form 重复提交的三种方案 ...JSP 避免 Form 重复提交的三种方案可以选择使用 JavaScript 设置提交标志、禁用提交按钮或使用 Struts 的同步令牌机制,具体选择哪种方法取决于项目的需求和实现难度。

    【JavaScript源代码】React获取input值并提交的2种方法实例.docx

    3. **获取值**:在`handlePost`方法中,可以直接通过`inputValue.value`获取输入框的值。 **总结** 以上两种方法分别展示了如何在React中获取input值并进行提交操作。第一种方法适用于需要实时更新状态的情况,而...

    C++ Builder 调用JavaScript的例子

    1. **添加WebBrowser控件**:在C++ Builder的Form设计界面中,添加一个WebBrowser控件到你的窗体上。 2. **加载HTML页面**:编写包含JavaScript代码的HTML文件,并使用WebBrowser控件的`Navigate()`方法加载这个...

    100多个有用的JavaScript函数及基础语法集合

    可以使用 charAt() 方法来取字符串中指定位置的一个字符。 取出字符串中指定起点和终点的子字符串 可以使用 substring() 方法来取出字符串中指定起点和终点的子字符串。 数学函数 JavaScript 中的数学函数有:Math...

    JavaScript将base64图片转换成formData并通过AJAX提交的实现方法

    JavaScript将base64图片转换成formData并通过AJAX提交是一项技术需求,通常出现在需要将前端处理得到的图片信息上传到服务器的场景中。base64编码是一种用64个ASCII字符表示任意二进制数据的方法,它常用于在网页中...

    javascript函数中执行C#代码中的函数.docx

    这种方法利用ASP.NET提供的`&lt;%= %&gt;`标签将C#函数的返回值嵌入到HTML文档中,然后在JavaScript中获取这些值。 **实现步骤:** 1. **定义C#函数:** ```csharp public string GetText() { return "Hello, World!...

    JavaScript完全自学宝典 源代码

    6.10.html JavaScript取单选框的值。 6.11.html JavaScript控制单选框。 6.12.html 单选框的JavaScript特效。 6.13.html 使用JavaScript控制按钮是否可用。 6.14.html 重置按钮的效果。 6.15....

    JavaScript中常用的一百零七条语句

    获取表单中元素的名称和值通常通过 `getElementById` 方法实现,例如: ```javascript var element = document.getElementById("表单中元素的ID號"); console.log(element.name); // 获取元素名称 console.log...

    ExtJs获取表单元素的值

    这里,`Ext.getCmp('searchlist')`用于获取ID为`searchlist`的组件,然后调用`getForm()`方法获取与该组件关联的表单对象,最后调用`getValues()`方法来获取表单中的所有字段值,并将其存储在`objectjson`变量中。...

    JavaScript函数大全Word版

    JavaScript 中的基本数据类型包括 `String`、`Number`、`Boolean`、`Null`、`Object` 和 `Function`。例如: ```javascript let str = "Hello"; // String let num = 123; // Number let bool = true; // Boolean ...

    JavaScript禁止用户多次提交的两种方法_.docx

    在Web开发中,用户可能会因为误操作或者网络延迟而反复点击提交按钮,这可能导致服务器接收到重复的请求,从而加重服务器负担。为了避免这种情况,JavaScript提供了一些方法来限制用户多次提交。本文将详细介绍两种...

    AjAX JavaScript中使用表单实现留言功能

    在JavaScript编程中,实现网页的动态交互功能是一个重要的任务,其中AJAX(Asynchronous JavaScript and XML)技术的应用尤为广泛。本篇文章将详细讲解如何利用AJAX和JavaScript在网页上实现一个基本的留言功能。 ...

    layui 富文本赋值,取值,取纯文本值的实例

    具体来说,我们首先需要引入layui的CSS样式文件和JavaScript文件,然后使用layedit.use方法加载layedit模块。之后,我们通过layedit.build方法构建一个编辑器实例,并将id为“demo”的textarea元素转换成富文本编辑...

    利用JavaScript阻止表单提交的两种方法

    在JavaScript中,有几种方法可以实现这一点,本文将介绍两种常用的方法:使用return false以及使用event.preventDefault()。 首先,我们来看如何使用return false来阻止表单提交。在JavaScript中,表单提交是通过...

Global site tag (gtag.js) - Google Analytics