グリッド内のそれぞれの横にボタンがあるさまざまなテキスト フィールドがあります。ボタンをクリックすると、その横のテキスト フィールドに値が返されます。問題は、データを返すテキスト フィールドを認識させることです。私は現在、隠しフィールドに入れられた関数でパラメーターを渡すように設定しており、switchステートメントはそのフィールドをチェックして、データをどのフィールドに送り返すかを確認しています。
それは機能しますが、これをはるかに少ないコードで実行できるように思われ、静的にプログラムされていないもの (フォームに新しいフィールドを追加するときに switch ステートメントを手動で更新したくありません) . 簡単な答えがあることを願っています。私はプログラミングが初めてで、複雑なことは理解できません。
私が持っているものの簡単な例はこれです:
<form action="#" name="testForm">
<input type="text" name="input1" size="20">
<input type=button value="get data" onClick="populateField(1)"/>
<br>
<input type="text" name="input2" size="20">
<input type=button value="get data" onClick="populateField(2)"/>
<br>
<input type="text" name="input3" size="20">
<input type="button" value="get data" onClick="populateField(3)"/>
<br>
<input type="text" name="lineID" size=1 style="display:none"/>
</form>
<script>
function populateField(input) {
document.testForm.lineID.value = input;
var element = document.getElementById("lineID");
var lineID = element.value;
switch (lineID) {
case "1":
document.testForm.input1.value = "some value";
break;
case "2":
document.testForm.input2.value = "some value";
break;
case "3":
document.testForm.input3.value = "some value";
//etc
}
}
</script>
every の個別のケースの代わりに"document.testForm.input#.value"
、変数を使用して を置き換えるにはどうすればよい"input#"
ですか?