• ベストアンサー

オブジェクトの削除の方法

お世話になります。 JavaScriptでオブジェクトの削除は可能でしょうか? <form method="GET" action="hogehoge"> <input type="text" name="test1"> <input type="text" name="test2"> </form> のようなHTMLがあった場合 test2をまったく送りたくないときにjavascriptで 送信しないようにする方法があれば教えていただきたいと思います。 よろしくお願い致します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

うーん。なぜボタンのバリューを渡す必要が あるのかわかりませんがとりあえず、こんな感じ? hiddenをdisableするより、ボタンのどちらかを おした場合の処理なので、button_valueのvalueに 値をいれた上でsubmitしてやってはどうでしょうか? <script language=javascript> function hogehoge(obj){ obj.form.button_value.value=obj.value; obj.form.submit(); } </script> <form method="GET" action="hogehoge"> <input type="button" name="button1" value="ボタン1" onClick="hogehoge(this);"> <input type="button" name="button2" value="ボタン2" onClick="hogehoge(this);"> <input type="hidden" name="button_value"> </form>

can5974
質問者

お礼

お世話になります。 ボタンの値自体をとりたいわけではなく ボタンを押されたかどうかがとりたいんですね 二つのボタンのうちどちらか一つだけ押された方のみリクエストに送りたいのですが 両方をdisabledにすると両方送れなくなりますし、 input typeをbuttonにすると2つともhiddenを作らないといけなくなるわけで・・・ 難しいです・・・ input typeはbuttonのままでtextのreadonly的なプロパティとかあれば便利なんですが とりあえず2つのhiddenをdisabledにする方向でやってみます どうもありがとうございました。

その他の回答 (2)

noname#19175
noname#19175
回答No.3

回答の回答を読んでも何がやりたいのかさっぱりわかりませんでしたが、 「質問の投稿」と「1つめの回答の回答」と「2つめの回答の回答」の主旨がそれぞれ変わってませんか? > test2をまったく送りたくないときにjavascriptで送信しないようにする方法 <form method="GET" action="hogehoge" onsubmit="this.test2.value='';return true;"> ではダメですか? > buttonが押された場合disabledにしたいのですが > 現在そのボタンはtypeがsubmitになっています。 > submitの場合押したボタンのりクエストが渡されると思うのですが > 押されたときにこのボタンをdisabledにし、かつボタンのvalueも送りたいのですがこれって可能なのでしょうか? (何がやりたいのかわかりません。。。) > ボタンの値自体をとりたいわけではなく > ボタンを押されたかどうかがとりたいんですね > 二つのボタンのうちどちらか一つだけ押された方のみリクエストに送りたいのですが <input type="submit">がいくつあっても、送信されるのは1つ、または0(ブラウザ依存。<input type="text">でエンターキーを押した場合など)です。 ---HTML--- <input type="submit" name="button1" value="送信1"> <input type="submit" name="button1" value="送信2"> ---CGI(perl)--- use CGI; my $c=new CGI; print "Content-type: text/html\n\n"; my @btn=$c->param('button1'); print scalar @btn; # '送信1'か'送信2'のどちらかしか表示されません -------------------------------- ANo.1の回答より ---HTML--- > <input type="submit" name="button1" value="ボタン1"> > <input type="submit" name="button2" value="ボタン2"> ---CGI(perl)--- use CGI; my $c=new CGI; if($c->param('button1') eq 'ボタン1'){ # $c->param('button2');の値は''ですが、HTMLの記述上'button2'は'ボタン2'で有ることは明確 }elsif($c->param('button2') eq 'ボタン2'){ # $c->param('button1');の値は''ですが、HTMLの記述上'button1'は'ボタン1'で有ることは明確 } *動作未確認

can5974
質問者

お礼

前のボタンと同じ名前のhiddenを作り ボタン1が押された場合はボタン2のhiddenをdisabledに ボタン1が押された場合はボタン2のhiddenをdisabledに という風にして対応してみました 有難うございました

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

text要素であればdisabledをtrueにすればよいです。 <form method="GET" action="hogehoge" onSubmit="this.test2.disabled=true"> <input type="text" name="test1"> <input type="text" name="test2"> <input type="submit" value="送信"> </form> 条件が複雑ならfunction定義してください

can5974
質問者

お礼

お世話になります。 なるほどdisabledにすればリクエストはわたらなくなるんですか 本当にやりたいのは buttonが押された場合disabledにしたいのですが 現在そのボタンはtypeがsubmitになっています。 submitの場合押したボタンのりクエストが渡されると思うのですが 押されたときにこのボタンをdisabledにし、かつボタンのvalueも送りたいのですがこれって可能なのでしょうか? <input type="submit" name="button1" value="ボタン1"> <input type="submit" name="button2" value="ボタン2"> リクエスト側ではボタン1が押された場合ボタン2は取得できません。 これに追加でボタン1が押された場合2つともdisabledにしたいわけですが function hogehoge(){ document.form.button1.disabled=true; document.form.button2.disabled=true; document.form.submit(); } <input type="button" name="button1" value="ボタン1" onClick="javascript:hogehoge();"> <input type="button" name="button2" value="ボタン2" onClick="javascript:hogehoge();"> とした場合、ボタンのリクエストは送信されませんでした。 なので、 上のソースに <input type="hidden" name="button1_value" value="button1"> <input type="hidden" name="button2_value" value="button2"> を追加し、 どちらかのボタンが押された場合に逆のhiddenのリクエストを削除したいと思っています。 なんだか解りにくいと思いますが、よろしくお願い致します。

関連するQ&A

  • <form>タグに2つのボタン

    <form>タグで2つのボタンを表示させ、以下のようにそれぞれのボタンで フィールドに別の値を入れて送信させることはできますでしょうか? できればHTMLで、できなければJavaScriptでできますでしょうか? ・button1を押したときは  フィールド「CASE」に1を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="1"> ・button2を押したときは  フィールド「CASE」に2を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="2"> ===== HTML ====================== <form action="test.cgi" method="post"> <input type="text" name="text1"> <input type="submit" value="button1"> <input type="submit" value="button2"> </form> 宜しくお願いします。

    • ベストアンサー
    • HTML
  • フォーム内のオブジェクトを取得したい

    フォームタグ内のオブジェクトをphpで取得できないでしょうか。 たとえば <From Action"xxx.php" Post="Mothod"> <Input Type=Text Name=xxx> <Input Type=Text Name=xxx> <Input Type=Submit Name=xxx Value=送信> </Form> このようなフォームがあり「送信」を押下した際に、このフォームオブジェクトの要素を知りたいのです。 JavaScriptであれば document.forms[0].elements[0] で拾えたと思うのです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • formの入れ子の回避方法

    アドバイス下さい。 <form method="post" name="addForm" id="addForm" action="aaa.php"> <input type="text" name="textA" id="textA"> <form method="post" name="uploadFormA" id="uploadFormA" enctype="multipart/form-data" action="aaa.php"> <input type="text" name="text1" id="text1"> <input type="file" name="upload_fileA" id="upload_fileA"> <input type="button" value="アップロード"> </form> <form method="post" name="uploadFormB" id="uploadFormB" enctype="multipart/form-data" action="aaa.php"> <input type="text" name="text2" id="text2"> <input type="file" name="upload_fileB" id="upload_fileB"> <input type="button" value="アップロード"> </form> <form method="post" name="uploadFormC" id="uploadFormC" enctype="multipart/form-data" action="aaa.php"> <input type="text" name="text3" id="text3"> <input type="file" name="upload_fileC" id="upload_fileC"> <input type="button" value="アップロード"> </form> <input type="text" name="textB" id="textB"> <input type="submit" value="送信"> </form> のような、formが入れ子になってしまっているformがあります。 これを回避する方法を教えていただきたいです。 条件としては、 ・見た目はこの順番がいい。 ・javascript、CSS等なんでも良いです。 ・各「アップロード」ボタンで、text1,2,3,4、upload_fileA,B,C,Dを送信、「送信」ボタンでtextA,Bを送信したい。 以上、お願いいたします。

    • ベストアンサー
    • HTML
  • POSTデータのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • Formの「action」属性を取得したいけれども「action」という名のオブジェクトが存在している

    非常に困っています!よろしくお願いいたします。 以下のように「action」という名前のオブジェクトがあります。 <form name="form1" method="post" action="hoge.htm"> <input type="hidden" name="action" value="test"> <input type="submit" name="submit" value="OK"> </form> javascriptでaction属性「hoge.htm」を取得したいのです。そのため以下のようにコーディングしました。 alert(document.form1.action); 結果は「object」と表示されます。どうやらactionオブジェクトを対象としてしまうらしいのです。 action属性を取得する方法をお教えいただけないでしょうか。よろしくお願いいたします。

  • Formに関する質問です

    すみません、カテゴーが違ってたみたいで再度質問させて頂きました。 次のようなformを作りましたが、CGIのプログラムが いまいちわかりません。どなたか教えて頂けませんか。 <HTML> <TITLE>TEST</TITLE> <BODY> <FORM ACTION="test.cgi" METHOD="POST"> 氏名<INPUT TYPE="TEXT" NAME="simei"> 住所<INPUT TYPE="TEXT" NAME="jyusyo"> <INPUT TYPE="Submit" value="データ送信"> <INPUT TYPE="Reset" value="リセット"> </FORM> </BODY> </HTML> 送信すると名前と住所が表示される内容です。

    • 締切済み
    • CGI
  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • 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>

  • javascriptでCGIを実行するには

    htmlタグ <form method="post" action="・・・/cgi-bin/gogo.cgi"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> 上記で送信ボタンを押すとcgi側でnameを受け取れますが、 以下の場合はcgiは動作するのですが、nameを受け取れません、 受け取れる方法を教えてください。 <script type="text/javascript" language="javascript"> <!-- function gogo(){ document.write('<img src="・・・/cgi-bin/gogo.cgi">'); } // --> </script> </head> <body> <form method="post" action="javascript:gogo()"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> </form>

  • 指定のinputに入力

    恐れいります。 <form action="./xxx.cgi" method="POST"> <input type="text" name="name1"> <input type="text" name="name2"> <input type="text" name="name3"> <input type="text" name="name4"> <input type="text" name="name5"> <input type="submit" value="送信"> </form> と、5つの入力欄があり、別ウィンドウから、指定の場所に代入することは可能でしょうか。例えば、name1のエリアに、別ウィンドウからformで「test」という文字を送信して入力する感じです。 よろしくお願いします。

専門家に質問してみよう