• ベストアンサー

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

  • hiddenのvalueの値を変えたい

    おはようございます。 教えていただきたいことがあります。 HTMLのほうに <input type="hidden" name="btn" value=""> と書きます。 それでJavaSctiptのfunctionの中で document.forms[0].btn.value=funcitonの引数; とやっているのですが、hiddenのvalueの中に値が入っていないようです。 どうしてでしょうか? こういう使い方ってできないものなのでしょうか? 宜しくお願いします。

  • JavaScriptのValue内容を取得する方法

    WEBページを表示してそのソースの中の JavaScriptのValueの内容を取得したいのですが、 どのように書いたら良いでしょうか? <input type=hidden name="textstring" value="abcdefg"> のようになっています。 dim a as string = IE.Document.Forms(0).Elements("textstring").value としてみたのですが、エラーになってしまいました。 宜しくお願いいたします。

  • GetElementById の使い方(IE11)

    お世話になります。 html(5)内に、inputのhiddenに、複数のデータが設定されていまして、 そのデータをJavaScriptで取得し、alert表示したいのです。 例えば、 <input type="hidden" name="A0" id="A0" value="名称[1]"> <input type="hidden" name="A1" id="A1" value="名称[2]"> <input type="hidden" name="A2" id="A2" value="名称[3]"> を for(i=0;i<3;i++){ if( document.xxxform.GetElementById("A"+i) ){ data = document.xxxform.GetElementById("A"+i).value; str += data ; } } alert(str); のような感じにしたのですが、IE11でエラーになってしまいます。 if( document.xxxform.GetElementById("A"+i) ){ → ここでエラーのようです。 正しくはどのようにしたらよいのでしょうか? どなたか、アドバイスをお願いいたします。

  • for文でpostの値を受け取る方法

    以下のようなコードで、postで投げられた値を、for文で、添え字を組み立てて受け取って表示したいのですが、添え字の生成が間違っているのか、うまくいきません。 何を修正すればよいか教えてください。 <form action="" method="post"> <input type="hidden" value="A" name="name_0"> <input type="hidden" value="B" name="name_1"> <input type="hidden" value="C" name="name_2"> <input type="hidden" value="D" name="name_3"> <input type="submit"> </form> <?php for($i =0; $i < 4; $i++){ if (!empty($_POST['name_$i'])) { print $_POST['name_$i']; } } ?>

    • ベストアンサー
    • PHP
  • ★大至急!JavaScriptのif文教えてください。

    ★大至急!JavaScriptのif文教えてください。 フォームで <p> <?php if($_POST["type_id"]== 0){?> <input type="hidden" checked="" value="0" name="type_id">無料 <?php }?> <?php if($_POST["type_id"]== 1){?> <input type="hidden" checked="" value="1" name="type_id">有料 <?php }?> </p> この条件で、 無料の場合は、(1)メール 有料の場合は、(2)メール というように違う内容のメールを送信したいです。 意味がわからなかったら、すみません。 よろしくお願いします!!

  • ラジオボタン

    <html> <head> <title></title> <script type="text/javascript"> function check() { var s=0; if(document.forms["f2"].elements["stay"].checked) { var radios = document.forms["f2"].elements["aa"]; if(document.forms["f2"].elements["aa"].checked) s += 1800; if(document.forms["f2"].elements["aa"].checked) s += 2800; if(document.forms["f2"].elements["aa"].checked) s += 3800; if(document.forms["f2"].elements["aa"].checked) s += 2000; document.forms["f2"].elements["total"].value = s ; } } </script> </head> <body> <form name="f2" action="#"> <h4>Q1.テーマパークに入りますか?</h4> <p> <input type="checkbox" name="stay" value="">入場する </p> <h4>Q2.年齢は?</h4> <p> <input type="radio" name="aa" value="" checked>6歳未満 <input type="radio" name="aa">6歳以上18歳未満 <input type="radio" name="aa">18歳以上60歳未満 <input type="radio" name="aa">60歳以上 </p> <h4>入場料金は次の通りです。</h4> <p> <input type="button" value="計算" onclick="check();"> <input type="text" name="total" value="" size="18">円です。 </p> </form> </body> </html> これでやると何を選択しても0円になるんですけど、 どうすればいいですか?

  • クリックでボタンの画像を変更するjavascriptsで

    通常A画像のボタンが押された場合、B画像に変更すると言う動作を行いたいのですが、 document.f1.elements['b1'].src = "A.jpg"; この部分でエラーがでます。 input type="image"のsrcを指定するにはどうしたら良いでしょうか。 --------------------- <html> <script language="javascript"> <!-- function ImageChange(){ if(document.f1.elements['b1value'].value == 0){ document.f1.elements['b1'].src = "A.jpg"; document.f1.elements['b1value'].value = 1; }else{ document.f1.elements['b1'].src = "B.gif"; document.f1.elements['b1value'].value = 0; } } //--> </script> <body> <form name="f1"> <input type="image" name="b1" src="A.gif" onclick="ImageChange()" > <input type="hidden" name="b1value" value="0"> </form> </body> </html>

  • 選択されたラジオボタンの値が取り出せない

    フォームを使って普通のHTMLで記述すれば選択された値が 送られてくると思うのですが、エレメントを作って次のような やり方だと、「2」を選択したとしてもvalueが「1」しか返ってきません。 どうすれば適切に値を取り出すことができるのでしょうか? var element1 = document.createElement("span"); element1.innerHTML = "<input type='radio' name='a' value=1>"; document.body.appendChild(element1); var element2 = document.createElement("span"); element2.innerHTML = "<input type='radio' name='a' value=2>"; document.body.appendChild(element2); ~何かクリックした先でidが「a」のオブジェクトを取得し、選択されてた値を取り出したい~ var ele = document.getElementById("a"); alert(ele.value);←1しか表示されない

  • VBSのIEオブジェクトでフォームデータ送信する

    ■質問 通常IEオブジェクトを使ってフォームにセットされたデータを サブミットするには、 IE.Document.forms("").elements("").value = "" IE.Document.forms("").submit() と行うと思うのですが。 例えば下記のようなフォームを送信する際、 フォームのある"http://test.com/login_form" ページにわざわざ移動せず 直接"http://test.com/action"の "hidden"のエリアに対してデータを送信 する方法を教えて頂けませんでしょうか? また、Form1に複数のエレメントが存在する場合 全てのエレメントの値を送らないと正しく処理 できないでしょうか? ■"http://test.com/login_form" のHTML <form name="Form1" method="post" action="/action"> <input type="hidden" name="ID" value="1234"> <input type="submit"> </form>

  • WEBページのラジオボタンを設定するには??

    WinXP、VB.NET、IEでプログラムを作っています。 <input type=radio name=.a value=p checked> <input type=radio name=.b value=m> <input type=radio name=.c value=g> などとなっているところのラジオボタンを設定するにはどうしたらよいでしょうか? IE.document.Forms(0).Elements(".b").Checked = True IE.document.Forms(0).Elements(".b").value("m") = True など試してみたのですがダメでした。 正しい方法をご教示頂きたくお願い致します。

専門家に質問してみよう