私はサイトの長年の訪問者ですが、初めてのポスターです。
私は JavaScript を初めて使用し、選択したパラメーターに基づいてフォームを動的に更新するスクリプトを作成するために最善を尽くしました。ユーザーが (この場合) 部品番号を選択すると、[更新] ボタンをクリックして、それに応じて他の 7 つのフィールドを変更できます。間違いがあった場合に備えて、部品番号フィールドをリセットするリセット ボタンを作成しました (ここで壊れています)。[更新] ボタンをもう一度クリックすると、他の 7 つのフィールドもリセットされるはずです。それが理にかなっていることを願っています。部品番号のリストの途中で機能を試してみたところ、うまく機能しましたが、途中で壊れました。現在、本来の方法でリセットする唯一の部分は「oempma.value」です。
ともあれ、長文失礼しました、続きます。フォーム(new.php)のコードは次のとおりです。
関数が呼び出される dynamicupdate.js ファイルは次のとおりです。
function dynamicupdate(form, prefix, part_number, flight_control, lat_position, long_position, vert_position, location, material, oempma)
{
if(form)
{
if(part_number.value === "C6CF1124-1")
{
flight_control.value = "Aileron";
lat_position.value = "Left";
long_position.value = "Fwd";
vert_position.value = "N/A";
location.value = "Wing";
material.value = "Carbon Steel";
}
if(part_number.value === "C6CW1031-1")
{
flight_control.value = "Aileron";
lat_position.value = "";
long_position.value = "N/A";
vert_position.value = "";
location.value = "Wing";
material.value = "Carbon Steel";
}
if (part_number.value === "C6CW1031-1" && lat_position.value === "" && vert_position.value === "")
{
alert ("You must manually enter the \"Lat Position\" and \"Vert Position\" for this cable.");
}
}
else
{
flight_control.value = "";
lat_position.value = "";
long_position.value = "";
vert_position.value = "";
location.value = "";
material.value = "";
}
if(prefix.value === "PDM" || prefix.value === "TB" || prefix.value === "JNL")
{
oempma.value = "PMA";
}
else if(part_number.value === "")
{
oempma.value = "";
}
else
{
oempma.value = "OEM";
}
return;
}
この関数は dynamicupdate.js ファイルにもありますが、何らかの理由で上記のコード ブロックにとどまることができませんでした。
function resetsome(form, prefix, part_number)
{
part_number.value = "";
prefix.value = "";
}
さらに何かを台無しにした場合に備えて、.js ファイルのいくつかの大きなブロックを元の場所に戻すなど、いくつかの方法でトラブルシューティングを試みましたが、修正されませんでした。また、この状況に適用される JavaScript 言語についても多くのことを読みましたが、何か間違っていることがわかりました。