次のhtmlコードがあります:
<form name="Register" action="Register.aspx" method="post" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile(FormName='Register');" >
<p>
Name* : <input id="FirstName" type="text" name="FirstName"/> </p>
<input type="submit">
</form>
そして、この JS コード:
function isEmpty(field) {
return (field == "" || field == null)
}
function validateProfile(FormName) {
var Fname = document.forms[FormName]["FirstName"].value; return false;
var g = (isEmpty(field));
alert(g);
}
問題は次の行にあります。
var Fname = document.forms[FormName]["FirstName"].value; false を返します。
次のエラー メッセージが表示されます。
キャッチされていない typeerror は、未定義のプロパティ 'FirstName' を読み取ることができません
この行の上の行の代わりに書くと
document.getElementById("FirstName").value
それはうまく機能するので、私の質問はなぜdocument.forms[FormName]["FirstName"].value
機能しないのですか?