通过JavaScript获取表单名称

Nav*_*eva 2 javascript

我有一个简单的问题,但我无法在网上罚款.

我有这个HTML代码:

 <form name="Register" action="Register.aspx" method="post" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile(this);" >
Run Code Online (Sandbox Code Playgroud)

这个JavaScript代码

function validateProfile(F) {
var G = F.name; 
}
Run Code Online (Sandbox Code Playgroud)

我想以某种方式获取表单名称,但此代码不起作用.

希望得到帮助,谢谢!

Ben*_*aum 5

你去吧

function validateProfile(F) {
    alert(F.name); 
    return false;
}
Run Code Online (Sandbox Code Playgroud)

F已经是形式,不需要使用.Form.

由于表单是一个元素,您可以使用它来访问它的名称.name.

这在DOM规范中定义:

DOMString类型的名称

命名表单.

演示

注意我的JSFiddle window.validateProfile = validateProfile是如何包含的,因为我在DOM准备就绪后运行它,如果你的函数不直接在脚本块中,你也可能需要这样做.

  • `F`是表单元素的唯一可靠引用,`this`不能与提供的代码OP一起使用. (2认同)
  • 请注意,表单 .name 属性可能会被名称为“name”的输入“污染”。例如 `&lt;FORM NAME="ActualFormName"&gt; &lt;INPUT NAME="name"&gt;` 那么 JavaScript 将使用对象(输入)而不是“ActualFormName”进行警报。至少早在 IE8 中,如果您使用 forms 属性集合,并索引“name”属性,那么它实际上会返回正确的名称。例如 `F.attributes["name"].value;` (2认同)