突然、JavaScript で未定義のエラーが発生します。
Error: TypeError: document.userForm.surname is undefined
フォーム フィールドの値を呼び出そうとすると、エラーが発生します。面白いことに、一部のフィールドは文字列型を返し、他のフィールドは未定義を返しますが、それらはすべて同じように宣言され、同じ入力型などです...私はこの時点でまったく無知であり、スタックオーバーフローの神々が私を助けてくれます。
以下は、値がデータベースから正常に返され、フォームのフィールドに入力されることを示すページのセクションです。
上に表示されているフォームのセクションと、javascript を呼び出すボタンを次に示します。
<form class=\"gideonform\" name=\"userForm\">
<tr>
<td id=\"right\">Password: </td>
<td id=\"left\"><input size=\"50\" maxlength=\"50\" type=\"password\" name=\"password\" value=".$dbuserpassword."></input></td>
</tr>
<tr>
<td id=\"right\"></td>
<td id=\"left\"></td>
</tr>
<tr>
<td id=\"right\">Title: </td>
<td id=\"left\"><input size=\"50\" maxlength=\"5\" type=\"text\" name=\"title\" value=\"".$dbusertitle."\"></input></td>
</tr>
<tr>
<td id=\"right\"></td>
<td id=\"left\"></td>
</tr>
<tr>
<td id=\"right\">Name: </td>
<td id=\"left\"><input size=\"50\" maxlength=\"50\" type=\"text\" name=\"name\" value=\"".$dbusername."\"></input></td>
</tr>
<tr>
<td id=\"right\"></td>
<td id=\"left\"></td>
</tr>
<tr>
<td id=\"right\">Surname: </td>
<td id=\"left\"><input size=\"50\" maxlength=\"50\" type=\"text\" name=\"surname\" value=\"".$dbusersurname."\"></input></td>
</tr>
<tr>
<td id=\"right\"></td>
<td id=\"left\"></td>
</tr>
<tr>
<td id=\"right\">Date of Birth: </td>
<td id=\"left\"><input size=\"50\" maxlength=\"50\" type=\"text\" name=\"dateofbirth\" id=\"dateofbirth\" value=\"".$dbuserdateofbirth."\"></input></td>
</tr>
<td id=\"left\"><input size=\"50\" type=\"button\" id=\"button\" name=\"btnsubmit\" onClick=\"function1();\" value=\" Save \"/></td>
そして、エラーが発生するJavaScriptファイルの行は次のとおりです。
name : document.userForm.name.value,
surname : document.userForm.surname.value,
title : document.userForm.title.value,
name と title のみが文字列型で、他のすべてのフィールドは未定義です。プロジェクト全体でこの正確なコードを使用し、正常に動作するため、これは私にとって非常に奇妙です。