JavaScript处理表单,这个数组符号是如何工作的?
在下面的代码中,这一行对我来说有点奇怪:JavaScript处理表单,这个数组符号是如何工作的?,javascript,forms,Javascript,Forms,在下面的代码中,这一行对我来说有点奇怪: var x=document.forms["myForm"]["fname"].value; 网页: <html> <head> <script type="text/javascript"> function validateForm() { var x=document.forms["myForm"]["fname"].value; if (x==null || x=="") { alert("First
var x=document.forms["myForm"]["fname"].value;
网页:
<html>
<head>
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
{
alert("First name must be filled out");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
函数validateForm()
{
var x=document.forms[“myForm”][“fname”].value;
如果(x==null | | x==“”)
{
警告(“必须填写姓名”);
返回false;
}
}
名字:
这是怎么回事?多维数组在哪里?谢谢这:
var x=document.forms["myForm"]["fname"].value;
与以下内容完全相同:
var x = document.forms.myForm.fname.value;
事实上,没有理由(在本例中)以这样的方式编写它
现在,如果不是这两个字符串常量——“myForm”和“fname”——而是有某种计算或获取名称的动态机制,那么第一种形式是有意义的。[]
运算符允许计算表达式以确定要访问的属性名称
顺便说一下,本例中根本没有涉及数组。仅对象属性引用。是特殊的,因为它有一个接口,可以通过将属性作为数字索引(零基)或“name”属性查找来标识文档中的所有表单
此外,还有一个类似的功能,允许您按输入元素(和其他表单小部件)的名称作为属性进行查找。非常感谢Maerics!我现在正在研究Mozilla参考资料,非常有帮助。