为什么我这个javascript代码document.getElementsByName("name_txtSides")输出是object HTMLInputElement

HTML表单代码:<formonsubmit="fucUrl('Triangle','name_txtSides')"style="display:inline;"met... HTML表单代码:

<form onsubmit="fucUrl( 'Triangle', 'name_txtSides' )" style="display:inline;" method="post" name="name_formTriangle" id="id_formTriangle">
<p><label for="id_txtSide1">第一条边</label> <input id="id_txtSide1" name="name_txtSides" type="text" /></p>
<p><label for="id_txtSide2">第二条边</label> <input id="id_txtSide2" name="name_txtSides" type="text" /></p>
<p><label for="id_txtSide3">第三条边</label> <input id="id_txtSide3" name="name_txtSides" type="text" /></p>
<input name="name_submitTriangle" id="id_submitTriangle" type="submit" value="提交" />
<input name="name_resetTriangle" id="id_resetTriangle" type="reset" value="重置" />

javascript代码:

//传递参数函数
function fucUrl( shapeName, shapeArgumentsName )
{
var args = document.getElementsByName( shapeArgumentsName );

var str = "";

for( var i = 0; i < args.length; i++ )
{

str = args[i] + "+";

alert( args[i] );

}

document.getElementById( "id_form" + shapeName ).action = "./surface.php?shape="+shapeName+"&arguments="+str;

}
展开
 我来答
阿刚炖蛋
推荐于2016-11-28 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:999万
展开全部

你好!!


这个比较容易理解:

当进行提交动作时,即onsubmit="fucUrl( 'Triangle', 'name_txtSides' )",


调用了函数fucUrl(),并其此函数传递了两个参数('Triangle', 'name_txtSides'),

其中

var args = document.getElementsByName( shapeArgumentsName );

var args = document.getElementsByName( "name_txtSides" );

这句的意思是 获取name属性=='name_txtSides'的元素的集合 。


在你的html代码中,name属性=='name_txtSides'的元素有3个,都为文本框,

当然他们都是HTMLInputElement类型的元素。


//下面通过value属性可以获取该元素的值

//这个循环是要计算三边相加的结果么? 

//如果是的话,即最终参数为 &arguments=XXX 的样子的话,使用下面的方式:

var str = 0;
for( var i = 0; i < args.length; i++ ){
    str += +args[i].value;
}

 //如果不是的话,即最终参数为 &arguments=XX+XX+XX 的样子的话,使用下面的方式:

var str = '';
for( var i = 0; i < args.length; i++ ){
    str += args[i].value;
    if(i != (args.length-1)){
        str += "+";
    }
}


希望对你有帮助!!!

jankill10
2013-11-22
知道答主
回答量:41
采纳率:0%
帮助的人:15.2万
展开全部
document.getElementsByName("name_txtSides")
这个获得的是HTML元素对象,如果想要回去值的话,应该是
document.getElementsByName("name_txtSides")[0].value
document.getElementsByName("name_txtSides")[1].value
document.getElementsByName("name_txtSides")[2].value
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式