1. ホーム
  2. javascript

[解決済み] Javascriptエラー : 左辺の代入が無効です。

2022-03-01 10:17:38

質問

Acrobat XIでjavascriptを使用しています。なぜか以下のようなエラーが出続けています。

invalid assignment left-hand side at 9: line 10

私のコードは非常にシンプルで、AFAICTでは正しく見えます。私が狂っていないことを確認して教えてください。(あるいは、私が狂っているが、あなたは解決策を持っていると言ってください :))

function jsNetworkAccount()
{

    // Get a reference to each check box
    var f1 = getField("cbNetworkNotNeeded");
    var f2 = getField("cbNetwork");
    var f3 = getField("cbEmailAccount");

    if (event.target === f1 && event.value = "On") {

           f2.value = "Off";
           f3.value = "Off";
           return;
    }

    if (event.target === f2 || event.target === f3 && event.value = "On") {

           f1.value = "Off"
           return;

    }    
}

解決方法は?

等号が2つある。

if (event.target === f1 && event.value =   "On") {
// -------------------------------------^^
if (event.target === f1 && event.value === "On") {


if (event.target === f2 || event.target === f3 && event.value =   "On") {
// ------------------------------------------------------------^^
if (event.target === f2 || event.target === f3 && event.value === "On") {

上記のコードでは、コーディングのスタイルを統一するために、3つの等号を使用しています。

vol7ronさんが提案されているように、IF文の中にも括弧をつけるとよいでしょう。これは可読性を大きく向上させると私は思います。