我有一个简单的问题,但我无法在网上解决好的解决方案。
我有这个HTML代码:
<form name="Register" action="Register.aspx" method="post" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile(this);" >
这个JavaScript代码
function validateProfile(F) {
var G = F.name;
}
我想以某种方式获取表单名称,但此代码无效。
希望得到帮助,谢谢!
答案 0 :(得分:5)
你去了
function validateProfile(F) {
alert(F.name);
return false;
}
F
已经是表单,无需使用.Form
。
由于表单是一个元素,您可以使用.name
访问其名称。
DOMString类型的名称
为表单命名。
注意我的JSFiddle如何包含window.validateProfile = validateProfile
,因为我在DOM准备就绪后运行它,如果你的函数不是直接在脚本块中,你也可能需要这样做。
答案 1 :(得分:1)
您可能在表单中有一个名称为 name 的控件。表单控件作为表单的属性提供,使用其名称或ID作为属性名称。所以在:
<form name="foo" ...>
<input name="name" ...>
然后:
document.forms['foo'].name
返回对input元素的引用,而不是表单的 name 属性的值(它反映了HTML name属性的值)。
解决方案是不使用与标准表单元素属性或DOM属性名称相同的表单控件的属性值(例如,不要将表单控件命名为“submit”或“reset”,因为它们将覆盖表单的提交和重置方法。)
答案 2 :(得分:-1)
我想知道为什么你的代码不能正常工作
它在这里工作
function validateProfile(F) {
var G = F.name;
alert(G);
return false;
}
答案 3 :(得分:-1)
var theForms = document.getElementsByTagName("form");
for(i=0;i<theForms.length;i++)
alert(theForms[i].name);
或如果您只有一个表单,请直接使用theForms [0].name
答案 4 :(得分:-3)
如果您使用Jquery。你可以通过这个获得attr:
$("form").attr("name"); // Register