そのため、ページでメソッドを呼び出そうとしていますが、メソッド内に入れたい値はわかっていますが、構文を機能させることができないようです。私はそう感じます。
わかりましたので、ここにページのjavascriptメソッドがあります
function ReturnValue (sValue, sText)
{
window.focus();
var oForm = document.EditForm;
switch (szType) // Form element name
{
case 'agt':
oForm.agt.value = sText;
oForm.agentman.value = sValue;
oForm.agtid.value = sValue;
oForm.getagt.focus();
break;
case 'county':
oForm.County.value = sValue;
sCurrentCounty = new String(sValue);
document.all("CountyDisp").innerHTML = sText;
document.all("City").value = "";
document.all("CityDisp").innerHTML = "";
document.all("Area").value = "";
document.all("AreaDisp").innerHTML = "";
break;
default:
break;
} // End switch
return;
}
非常に単純な関数であり、パラメーターが文字列であると仮定しますよね? したがって、IE8 Script Debugger Console でこれを試しました。
ReturnValue("adf","asdf"); //FAIL "オブジェクトが必要です"
オブジェクトが期待されていましたね。まあ、次に想定する文字列にはシングル クォーテーションが必要かもしれません (念のため)。
ReturnValue('adf','asdf'); //FAIL "オブジェクトが必要です"
わかりました、確認するだけです..だから、文字列を格納するオブジェクトが必要です。私が考えたvarを使用するのはどうですか..
var o = "adf"; var p = "dfsa"; ReturnValue(o、p); //FAIL "オブジェクトが必要です"
念のため、一重引用符を付けてみました。結局のところ、オブジェクトが必要であると確信しています。だから私はオブジェクトを作成しようとしました。
o = 新しいオブジェクト(); k = 新しいオブジェクト(); //{...}
ここから、オブジェクトに文字列を追加する方法がわからなかったので、これを行いました。
o.value = "テキスト"; k.value = "フィールド"; // "テキストフィールド"
さて、私はワクワクしています。そこに紐が入ったオブジェクトがあるので、もう一度まとめてみます。
ReturnValue(o,z) // EPIC FAIL "オブジェクトが必要です"
私はそこにオブジェクトを入れています!今、私は振り出しに戻っています。誰か助けてもらえますか?
さて、問題はまだ解決されていません。
さらに調査したところ、ページの読み込みの最初にスクリプトが実際に 1 回実行されることがわかりました。デバッグとブレークが可能で、コードを一時停止している間にメソッドを実行できます。しかし、リリースしてすべての変数の宣言が完了すると、メソッドを実行できなくなります。しかし、何らかの理由で、実行しようとしているのと同じメソッドを、 Window.Opener.ReturnValue(string,string); を使用してポップアップから実行できます。
理解できません!
Javascript の第一人者は、私があなたを必要としているとき、あなたはどこにいますか!