由于之前没有搞过前端的开发,在w3上学习了一个月的javascript,如果有什么说得不对,希望可以与大家一起探讨。
所以在使用DOM时发现,通过getElementsName赋值<input type='hidden'>时,可以成功将值指定的document.getElementsByName("name")中,这并不代表是赋值在了<input>中了,只是赋值在了一个命名为name的数组中,但是我尝试过用下标取值(遍历是可以的),但是取出的却是undefine的,而且后台也无法利用request.form[name]取出值,这也说明了<input>中并没有值。
研究了一下,但是其中的原因我也不太清楚,纠结了一会,想想还是老老实实用getElementById处理吧,所以如果只是想去取单个DOM的值和设置DOM的值还是尽量避免使用getElementsByName吧。
代码的片段如下:
<script type="text/javascript">
document.getElementsByName("gg").value = "hello word";
var sb = document.getElementsByName("gg");
console.info(sb);
console.info(sb.value);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="hidden" name="gg" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>