document.getElementById().value取不到值

document.getElementById().value取不到值,第1张

 HTML DOM 定义了多种查找元素的方法,除了 getElementById() 之外,还有 getElementsByName() 和 getElementsByTagName()。

不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。

在 *** 作文档的一个特定的元素时,最好给该元素一个 id 属性,为它指定一个(在文档中)唯一的名称,然后就可以用该 ID 查找想要的元素。

需求,就可以想到利用GET传值的方式,但常规GET方式需要把链接写入标签的a href里面,而我们实际上是希望用按钮来进行点击,而不是一个简单的超链接形式。于是这里就得用到Javascript在按钮的onclick事件下写代码。很明白,就是将input的value(用户输入的页码)传到onclick的代码里,这里用javascript的location来完成跳转。

    好了,整体就是这个样子,至于getElementById这个方法我就不多说了。重点说说我遇到的问题以及如何解决的。

1Javascript本身不会报错,只要不出你预期的结果,那么代码肯定是有问题的。这个时候可以看看代码里的符号,比如说单引号、双引号、大括号、小括号等等因为这段代码不是直接在JS文件中写的,而是用PHP进行构造来输出的,再加上PHP本身输出需要用到单引号、双引号,所以这个时候很多符号混合在一起是很容易出错。不要紧,你可以先运行一下,然后再查看网页源代码来看看当前的Javascript到底是不是你需要的那一段,看到少了什么符号我们就立马给补上,不过这个时候还需要注意一点,如果要直接输出单引号、双引号的话,在PHP的代码里这里需要用‘’来进行转义。

2上面的问题一般是不会d出任何结果的,即使我们用alert来查看设置的变量,因为Javascript代码存在问题,它根本就没办法执行!假设你已经改正了语法上的错误,那么我们继续看我们可以用以下代码来获取用户输入的页码,并打印输出看看正确与否。

 

 代码如下 复制代码

var uPage=documentgetElementById('pa')value; alert(uPage);

 如果这个时候一直d出"undefined"的提示,那么至少说明你的Javascript代码正确运行了,它没有语法上的错误!至于为什么undefined,我调试了很久都没找出原因,后来无意中尝试把value改成innerHTML,居然打印出了一些结果,不过仔细一看才知道打印出的是一个同id名的div中的内容,这下才恍然大悟在分页类中直接给input标签的id取名为page了,而这个page我在其他的div中也使用了。于是将分页类中input的id改为一个很变态的名字。其实这个时候就应该注意到这些问题,如果我们的代码可能会提供给其他人使用,那么命名就很重要了,如果只是在内部(就比如说我这里input这个标签只在类里面使用),那么名字应该尽量取得复杂一些,这样它与用户的命名发生冲突的可能性就很小了。

     最后:

 代码如下 复制代码

documentgetElementById('idname')value;//获取input标签里的值,value; documentgetElementById('idname')innerHTML;//获取div里的html内容  

参考资料:

1 document getElementById 的用法和 DHTMLCHM 的下载地址

今天在网络上查找 document getElementById 的用法,如下:

A :      语法:

     oElement = document getElementById ( sID )

      参数:

     sID   : 必选项。字符串 (String) 。

      返回值:

     oElement   : 对象 (Element) 。

      说明:

      根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象       ,则返回该组对象中的第一个。

      如果无符合条件的对象,则返回 null 。

 

B :有一个例子可以很好的说明:

 

  

                                                                             

      这个函数中最关键的地方是 documentgetElementById ,他是什么呢?       

                                                                             

      关于 documentgetElementById ,是这样的:                             

                                                                       

      如: documentgetElementById('hdrPageHeader_lblTitle')              

                                                                       

      表示的意思是:获取 ID 为 :hdrPageHeader_lblTitle 的对象                 

                                                                             

   aa                             

   bb                              

   cc                             

                                                             

 

 

C :另外还得到一个细节:

① documentgetElementById 有时会抓 name 放过了 id ,据说是 IE 的一个 BUG ;

页面中有

    

         

一个是 一个是

用 documentgetElementById 取第二个,可是,取到的却是第一个 >

在 IE 中 getElementById 竟然不是先抓 id 而是先找 name 相同的物件

form, 每 form 有 textbox, form 中的 textbox 是相同的 name, 但 id 都不同

釉 Firefox 是]的 但在 IE s只抓得到第一出的 name 料

尊敬的用户,您好!很高兴为您答疑。

target = 'hiddeFrame'的意思是在名称叫做hiddeFrame的框架中开启,那么contentWindowdocument的意思是在名叫contentWindow的框架中获取document对象。

希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。

documentwrite('<div><input id="input" type="text" />' + '</div>');

documentwrite('<div><input id="button" type="button" value="获取input值" />' + '</div>');

var button = documentgetElementById("button");

var input = documentgetElementById('input');

buttononclick = function(e) {

    if (inputvalue) {

        alert(inputvalue)

    } else {

        alert('你没有写入任何值');

    }

}

不要在写入documentwrite之前获取input就可以,因为documentwrite之前这个input并没有生成。

思路:需要用到js的循环,使用for循环即可;

先用getElementsByTagName获取到所有的input标签,再用for循环获取到所有的value。

代码如下:

<input type="text" value="a" />//放上去一个input

<input type="text" value="b" />

<input type="text" value="c" />

<input type="text" value="d" />

<input type="text" value="e" />

<input type="text" value="f" />

<input type="text" value="g" />

<input type="text" value="h" />

<script>

var oinput=documentgetElementsByTagName('input');//获取到所有的input

for(i=0;i<oinputlength;i++){//开始for循环

alert(oinput[i]value);

}

</script>

javascript获取表单中的值?

如获取form 表单下<input type='text' name='filename'>中的值

两种方法:

1、documentgetElementById("filename")value

2、documentformfilenamevalue

lotus的表单中,通过JavaScript获取表单中的指定域值?

js:documentforms[0]xxvalue就可以了

xx为表单中的域的名称!

如何用js获取表单中的值

给表单中的元素设定id属性,js:

var value = documentgetElementById("你的元素的id")value;

php如何获取表单中textarea的值?

<form action="dophp" method="post">

<input type=textarea name=intext/>

<input type=submit value="submit"/>

</form>

dophp

<php

$intext = $_POST['intext'];

怎样获取form表单中input的值

给input新增 id 例如 <input id="myInput" value="" type=text/>

var aa = documentgetElementById("myInput")val();或者用jquery $("#myInput")val();

ExtJS中怎样获取Form表单中的每一项的值

ExtJS中有事需要获得Form表单的值,根据API可知 getValues() 可以获得单签Form表单中所有 Name 值的一个物件。

片段程式码如下:

var formValues=formpanelgetForm()getValues(); 获取表单中的所有Name键/值对物件

alert(formValues["firstname"]); 输出表单中 firstname 栏位的值

consolelog(formValues); 输出结果是表单中的所有Name键/值对的一个物件

整体程式码如下:

/

Created with JetBrains PhpStorm

User: std

Date: 13-6-9

Time: 上午10:55

To change this template use File | Settings | File Templates

/

ExtonReady(function(){

var formpanel=Extcreate("ExtformPanel",{

title:"Dynamic Form",

draggable:true,

frame:true,

width:330,

height:255,

autoHeight:true,

bodyPadding:"7 5 7 5",

items:[{

xtype:"fieldset",

frame:true,

title:"Contact Information",

defaultType: 'textfield',

defaults:{xtype:"textfield",labelWidth:80,labelAlign:"right",width:280},

items:[{

fieldLabel:"First Name",emptyText:"First Name",name:"firstname"

},{

fieldLabel:"Last Name",emptyText:"Last Name",name:"lastname"

},{

fieldLabel:"Company",emptyText:"Company",name:"pany"

},{

fieldLabel:"Email",emptyText:"Email",name:"email"

},{

fieldLabel:"State",xtype:"bobox",emptyText:"请选择",name:"state"

},{

fieldLabel:"Date of Birth",xtype:"datefield",emptyText:"请选择日期",name:"dateofbirth"

}]

}],

buttons:[

{text:"确定",handler:function(){

var formValues=formpanelgetForm()getValues();

alert(formValues["firstname"]);

consolelog(formValues);

}},

{text:"取消"}

]

});

formpanelrender(ExtgetBody());

});

直接在每一项 的元件里面 新增 一个 id

id:'textId'

ExtgetCmp('textId')getValue()

怎样用jQuery获取表单中的值并赋给阵列

类似这样

var i=0;

var fields = $("input")serializeArray();

jQueryeach(fields, function(index, field){inf[i]=fieldvalue;i++;});

在php中怎样获取表单中档案域的值

获取到的POST、GET是阵列形式的值,需要通过键值来详细获取相应的值

比如: indexphp 页面

下面是POST方法

<form name=form1 method="post" action="indexphp">

<input type=text name=contents value="">

<input type=submit value="提交">

</form>

<php

获取表单提交的资料

$contents = $_POST['contents'];

echo $contents;

>

也可以是下面是GET方法

<form name=form1 action="indexphp">

<input type=text name=contents value="">

<input type=submit value="提交">

</form>

<php

获取表单提交的资料

$contents = $_GET['contents'];

echo $contents;

>

POST相对于GET方法,更好一些,可以提交大量资料,以及更安全些。

以上就是关于document.getElementById().value取不到值全部的内容,包括:document.getElementById().value取不到值、iframe获取document问题,火狐下获取contentWindow.document失效、js获取用document.write生成的页面内元素id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9792632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存