• ベストアンサー

IF文で

隠し引数で<INPUT type="hidden" value=1 name="A1"> があるとします。 もしこの「A1」という隠し引数がなかったら「A2」という隠し引数の値を、取得するようにIF文でかくとしたらどのよに書いたらいいのでしょうか? document.forms[0].elements['A1'].value ではエラーになってしまい、困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

こんな感じかな? var v if (typeof(document.forms[0].elements['A1']) == "undefined") {   v = document.forms[0].elements['A2'].value } else {   v = document.forms[0].elements['A1'].value } # 試してません

kobayan
質問者

お礼

できました!! こんな方法があるなんてビックリです。 大変勉強になりました。 本当にありがとうございました。

その他の回答 (2)

  • s_doc
  • ベストアンサー率24% (93/377)
回答No.2

日本語の意味が取りにくいんですが、 隠し引数A1を仮定して、 その隠し引数のオブジェクトが存在しなかったらA2の値を変数に取得したい、 ということですか? もしA1が存在している場合はその値を取得されたいんでしょうか。 上手くいってないと言われる場合の、 kobayanさんが組まれたスクリプトやHTML部分を書いていただけると、 回答しやすいんじゃないかと思いますが。

kobayan
質問者

お礼

説明不足で申し訳ありませんでした。 無事にa-kumaさんの方法で無事解決することができました。 今後はもっと内容を吟味してから質問するようにします。 ご迷惑をおかけしました。

回答No.1

こういうことでしょうか? <html> <head> <script language="javascript"> function st(){ test.A1.value = ""; } function setPrm(){ test.A1.value = "A1の値"; } function getPrm(prm){ test.A2.value = "A2の値"; if(prm == ""){ prm = test.A2.value; } alert(prm); } </script> </head> <body onload="st()"> <form name="test"> <input type="button" value="A1に値をセット" onClick=setPrm()><br> <input type="button" value="check" onClick=getPrm(test.A1.value)> <input type="hidden" name="A1"> <input type="hidden" name="A2"> </form> </body> </html>

kobayan
質問者

お礼

ご回答ありがとうございます。 でも、ちょっと私がやりたいことと違うようなきがします。 "A1"に値が入っていないときではなくて、"A1"という項目がFORM上に存在しないときに、"A2"の値をとってきたいんです。「test.A1.value」だと、FORM上に存在しない場合だとエラーになりますよね?これをエラーをださずに、「test.A2.value」の値を取得できるようにできないでしょうか? 説明不足でした。申し訳ありませんm(_ _)m

関連するQ&A