0

私は次のHTMLを持っています:

<body>
<form action="/test/interop/InteropServlet" method="post" id="formTester" name="formTester"> 
<input type="hidden" name="ApiName" value=""/>
<input type="hidden" name="test.userId" value="admin"/>
<input type="hidden" name="test.password" value="admin"/>
<input type="hidden" name="test.progId" value="CustomTester"/>
<input type="hidden" name="InteropApiData" value=""/>
<input type="hidden" name="TemplateData" value=""/>

Javascriptを使用してこれらの非表示の値を取得し、ボタンをクリックして設定したいと思います。次の JavaScript メソッドがあります。

function callAPI(myform) {
saveCookies();
myform.ApiName.value=document.getElementById("traceName").value;
myform.TemplateData.value=document.getElementById("templateXMLText").value;
myform.test.userId.value=document.getElementById("userIDText").value;
myform.test.password.value=document.getElementById("passwordText").value;
myform.action="http://"+document.getElementById("urlText").value + "/test/interop/InteropHttpServlet";
myform.submit();
}

これは、「Error: TypeError: myform.test is undefined」というエラーが発生するため、名前にピリオドが含まれていない非表示の入力 (つまり、test.userId、test.password) に対して機能します。呼び出しているコードを維持しておらず、変数にこれという名前を付ける必要があるため、これらの隠し入力の名前を変更できません。

名前にピリオドが含まれる非表示の入力をフォームから読み取る方法はありますか?

4

2 に答える 2