`

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对象,这是我自已的理解,或许有不确切这处,请提出来,哈哈

分享到:
评论
37 楼 windchill_java 2010-07-02  
mp_juan 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

赞同

35 楼 smzd 2010-07-01  
啧啧,人家这头像,……
我是冲着这头像来的。
不过没有看到,如果这个元素在form中是重名出现的怎么办?
就像一堆的radio单选框,如何找到选中了哪一个呢?
34 楼 bepatient 2010-07-01  
<div class="quote_title">select*from爱 写道</div>
<div class="quote_div">
<div class="quote_title">ywgoal 写道</div>
<div class="quote_div">哎,现在的水货越来越多了 <br>
</div>
<p> </p>
<p> 楼主加油吧,虽然现在的帖子一般,不过慢慢的技术上来了,含金量就高了,重在分享嘛,说这些的人。你也发帖子撒,说这种话一点意义都没得,让大家分享分享,没有交流,何来进步,希望楼主再接再厉。不断发帖</p>
</div>
<p>谢谢这位兄弟。一定会再接再厉的,您也一样!<img src="/images/smiles/icon_biggrin.gif" alt=""></p>
33 楼 select*from爱 2010-07-01  
<div class="quote_title">ywgoal 写道</div>
<div class="quote_div">哎,现在的水货越来越多了 <br>
</div>
<p> </p>
<p> 楼主加油吧,虽然现在的帖子一般,不过慢慢的技术上来了,含金量就高了,重在分享嘛,说这些的人。你也发帖子撒,说这种话一点意义都没得,让大家分享分享,没有交流,何来进步,希望楼主再接再厉。不断发帖</p>
32 楼 ywgoal 2010-06-30  
哎,现在的水货越来越多了
31 楼 fromaust 2010-06-30  
学习下,不过我已经会了
30 楼 yongdi2 2010-06-30  
lucky16 写道
ytsmtxxi 写道
mp_juan 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

赞同




一个人不发帖怎么可能上主页?当JE没有找到有好的帖的时候,这些新手帖,也都就可以上主页。这样子新手帖上主页怎么样子就不好了?我敢说,就这个帖肯定会有很多的人不知道。。。

var show = document.fn.username.value;

这种方式楼主也可以试一下,这样子也一样子可以取得到


还有,如果当name="username"这个唯一的时候,还可以
var show = document.getElementsByTagName("username")[0].value;

这样子也是可以取得到。不过这种方式建议不要这样子用。这样子的一般用在多个名字相同时,把那些做成数组来遍历。

呵呵,赞同你的说法,
记得最开始在JE发帖的时候, 也是才开始学习java的时候,经常发帖子就被抛砖, 哎,
往事不堪回首阿,所以还是希望大家对于发帖的人多多鼓励,而不是人家发的内容不是很NB就抛砖拉,我想这样JE的好帖子也会增加的!


我认为只要是不跑题,方法上正确的帖子,就可以并应该发到je上来,至于怎么判断上首页那是系统的事。爱拍砖的各位,希望你不要是NB帖子看不懂,新手帖子使劲砸的半吊子。换句话说,如果你真觉得自己眼界高,那能被这个标题吸引进来,也说明你不怎么牛
29 楼 化蝶自在飞 2010-06-30  
很多人都以为自己理解的透彻了.呵呵.说不定n多年后突然发现,额,原来Firefox不兼容啊.
28 楼 YiSingQ 2010-06-30  
学习IT的毕竟还有很多新手,各位已经是高手的人就不要再吹JE“不如以前了”,这只是说明你在显摆你很牛。
27 楼 bepatient 2010-06-30  
lobbychmd 写道
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老师混淆了。请您赐教!


id 是 dom 元素的一个唯一标识,按html 规范是不允许重复的

而 name 是窗体服务器发送 input 数据用的 key。可以重复

PS:
我投了精华,

谢谢!
26 楼 fisherhe 2010-06-30  
wese345 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

确实不如以前了......

英雄所见略同
25 楼 XiaoLuobo 2010-06-30  
很无奈.只要是知识,总有它的价值的.
24 楼 lobbychmd 2010-06-30  
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老师混淆了。请您赐教!


id 是 dom 元素的一个唯一标识,按html 规范是不允许重复的

而 name 是窗体服务器发送 input 数据用的 key。可以重复

PS:
我投了精华,
23 楼 select*from爱 2010-06-30  
<p>楼主也不容易<img src="/images/smiles/icon_biggrin.gif" alt="">,加油吧!</p>
<p>ps:如何上je首页--以下内容纯属猜测:<br>1.新帖发布后,单位时间内点击超过一定数量(貌似在100~200之间,单位时间估计是1~3天之内)<br>2.上过一次首页后,该贴将不会再次上</p>
22 楼 yuyue618 2010-06-30  
真不知道编辑是什么样的? 如今是什么文章都能上头版啊
21 楼 lucky16 2010-06-30  
ytsmtxxi 写道
mp_juan 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

赞同




一个人不发帖怎么可能上主页?当JE没有找到有好的帖的时候,这些新手帖,也都就可以上主页。这样子新手帖上主页怎么样子就不好了?我敢说,就这个帖肯定会有很多的人不知道。。。

var show = document.fn.username.value;

这种方式楼主也可以试一下,这样子也一样子可以取得到


还有,如果当name="username"这个唯一的时候,还可以
var show = document.getElementsByTagName("username")[0].value;

这样子也是可以取得到。不过这种方式建议不要这样子用。这样子的一般用在多个名字相同时,把那些做成数组来遍历。

呵呵,赞同你的说法,
记得最开始在JE发帖的时候, 也是才开始学习java的时候,经常发帖子就被抛砖, 哎,
往事不堪回首阿,所以还是希望大家对于发帖的人多多鼓励,而不是人家发的内容不是很NB就抛砖拉,我想这样JE的好帖子也会增加的!
20 楼 wese345 2010-06-30  
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

确实不如以前了......
19 楼 ytsmtxxi 2010-06-30  
mp_juan 写道
moses3017 写道
xzj127 写道
JE 现在的帖子 不如以前了....

JE 不如以前了....

赞同




一个人不发帖怎么可能上主页?当JE没有找到有好的帖的时候,这些新手帖,也都就可以上主页。这样子新手帖上主页怎么样子就不好了?我敢说,就这个帖肯定会有很多的人不知道。。。

var show = document.fn.username.value;

这种方式楼主也可以试一下,这样子也一样子可以取得到


还有,如果当name="username"这个唯一的时候,还可以
var show = document.getElementsByTagName("username")[0].value;

这样子也是可以取得到。不过这种方式建议不要这样子用。这样子的一般用在多个名字相同时,把那些做成数组来遍历。
18 楼 zhao103804 2010-06-30  
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老师混淆了。请您赐教!


在页面拿值都是通过id来拿的,例如:document.getElementById('').value
而定义那个name属性是通过后台拿值request.getParameter("")用的
在页面上id和,name不一定要一样,但是一般都会写成一样的
而那个fn是form的name,要通过页面拿到form里的值,须定义form的name属性或者用document.getElementById('username').value这种,form定义了name属性就可以直接用document.fn.username.value这种方式获得值了

相关推荐

    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**:如上所述,这是一种特定的表单数据编码类型,用于...

    JavaScript读二进制文件并用ajax传输二进制流的方法

    在JavaScript中,处理二进制文件并使用Ajax传输二进制流是一项常见的任务,尤其是在进行文件上传或数据传输时。由于浏览器之间的差异,实现这一功能需要考虑不同的API和兼容性问题。以下是一份详细的指南,涵盖了...

    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值并进行提交操作。第一种方法适用于需要实时更新状态的情况,而...

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

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

    C++ Builder 调用JavaScript的例子

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

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

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

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

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

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

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

    JavaScript完全自学宝典 源代码

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

    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在网页上实现一个基本的留言功能。 ...

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

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

Global site tag (gtag.js) - Google Analytics