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;
}
你好!!
这个比较容易理解:
当进行提交动作时,即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;//如果不是的话,即最终参数为 &arguments=XX+XX+XX 的样子的话,使用下面的方式:
var str = '';希望对你有帮助!!!