为什么我这个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;
} 展开
<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;
} 展开
2个回答
展开全部
你好!!
这个比较容易理解:
当进行提交动作时,即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 += "+";
}
}
希望对你有帮助!!!
展开全部
document.getElementsByName("name_txtSides")
这个获得的是HTML元素对象,如果想要回去值的话,应该是
document.getElementsByName("name_txtSides")[0].value
document.getElementsByName("name_txtSides")[1].value
document.getElementsByName("name_txtSides")[2].value
这个获得的是HTML元素对象,如果想要回去值的话,应该是
document.getElementsByName("name_txtSides")[0].value
document.getElementsByName("name_txtSides")[1].value
document.getElementsByName("name_txtSides")[2].value
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询