
form タグに
オプションとして存在する target に関してです。
form method="POST" action="***.cgi" target="new"
と記述すればsubmit実行時に結果を別ウィンドウに転送します
ここまではいいのでが・・・・
submitボタンが複数ある場合(ボタンによって処理が違う)
ボタンによって、このボタンは新しいウィンドウを開くが、
このボタンは開かない(同一ウィンドウ内に結果表示する)
というように設定することはできますか?
CGIとJavaSCRIPTの利用は可能です。
やはり別の form を立てるしかないのでしょうか?
(cgiに渡す値が大量なため一つのformで実現したいとおもっています)
No.4ベストアンサー
- 回答日時:
>新しいウィンドウは target="new" を使っています。
この場合、newという名前がついたwindowが新たに開かれますよね。
もう一度newをtargetとしたページを開いた場合、さっき開いたnewウィンドウに読み込まれます。
targetにはいくつか特別な値を入れることができます。
_blank 名前未設定の「新しい」ウィンドウを開きます。10回やれば10個新しいウィンドウが開きます。
_self 自分自身のウィンドウをターゲットとします。(フレームならフレーム)
_parent フレーム構造の場合、自分自身の一つ上のフレームセットを解除してターゲットとします
_top フレーム構造の場合、(階層が深くても)全部解除してターゲットとします。
>☆結果
>1.両方ともに新しいウィンドウが立ちあがります。
if文が間違っています。re=1という記述は代入ですので、条件判断としては・・・。
>2.buttonのvalue値が渡されません。
type="button"は送られないようですね。buttonの名前&値がほしい場合はNo.3の方が
かかれているようにsubmitにonClickを使う形になりますか。
この場合、ブラウザにJavaScriptの動作終了を待たずにsubmitしてしまうようなバグがあったらオワリなんですが・・・動くみたいなので大丈夫でしょう。
この回答への補足
>この場合、ブラウザにJavaScriptの動作終了を待たずにsubmitしてしまうようなバグがあったらオワリなんですが・・・
そうですね。このあたり不安が残ります。
これはブラウザの問題になるのでしょうか?
とりあえず動いたのでいいとさせて頂きます。
この点の問題が発生したらまた質問させていただきます。
みなさま ありがとうございました。

No.3
- 回答日時:
はじめまして。
他の方の通りですが・・一応までに。
Javascriptによるtarget先設定で対応可能となります。
◇HTML
例)
<input type="submit" value="ボタン1" onClick="javascript:target_func(0)">
<input type="submit" value="ボタン2" onClick="javascript:target_func(1)">
◇Javascript
function target_func( mode ) {
if( mode == 0 )
document.フォーム名.target="_top";
else
document.フォーム名.target="_blank";
return true;
}
上記の例では、
ボタン1→現ブラウザのトップ
※現ページがフレームが切られているページでも、actionにて表示
されるページが一面に表示される(_top)
ボタン2→新しいウインドウを表示(_blank)
なお、これはIEでもNetscapeでも有効です。
※Windows で 5.5/4.7で確認済み
頑張って下さい。
No.2
- 回答日時:
formに名前は付けているんでしょうか?
もし付けているのでしたら、
document.フォームの名前.target="新しいターゲット先"
document.フォームの名前.submit();
で、実行可能です。
もしname属性を付けていないのであれば、配列として考えます。
formタグが一つしかなければ、
document.forms[0].target="新しいターゲット先"
document.forms[0].submit();
で、アクセス可能です。
配列の場合、0オリジンになりますので、複数formタグがある場合は、0から順番に数えてください。
この回答への補足
submitボタンに send(1), send(0) などを呼びだし
(onClickでいいのでしょうね?)
send() の引数(0 or 1)によって
terget の設定、ならびに
submit();
でできそうですね。
ありがとうございますやってみます。
No.1
- 回答日時:
formのNAME属性はformsとして記述します。
複数のsubmitボタンというのを、buttonにして、JavaScriptを走らせ、
その中で
document.forms.target = "_self"
とか、
document.forms.target = "_blank"
とか指定してから
document.forms.submit()
したらいかがでしょう??
この回答への補足
_self というのは
今ひらかれているウィンドウの名前になるのでしょうか?
(SCRIPTを記述する側のウィンドウ)
新しいウィンドウは target="new" を使っています。
☆formを以下に変更
target="new"を削除
☆submitを以下に変更
input type="button" name="B1" value="送信" onClick="send(i)"
(i は 0か1 になります)
☆SCRIPT追加
function send(re)
{
if(re=1) document.forms[0].target="new";
if(re=0) document.forms[0].target="_self";
documet.forms[0].submit();
}
☆結果
1.両方ともに新しいウィンドウが立ちあがります。
2.buttonのvalue値が渡されません。
何が変なのでしょう??
1.は解消されました。
JAVASCRIPTのIF構文は
IF(a==B) のように "=="なのですね。
2.に関しては
相変わらず value値がわたりません。
やっぱり submitですればいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP.Net 別ウィンドウを開く・...
-
インラインフレームの中の表示...
-
自分のサイトを開いた時にウィ...
-
_blank?_brank?
-
表示中のURLなどをバッチファイ...
-
プルダウンメニューの開く方向...
-
HTML,js)リンクを新しいタブで...
-
htmlのボタンでF11を入力
-
XMLを作成してもタグしか表示さ...
-
Windowsのformでtextareaに入力...
-
ツールチップの表示時間の調整
-
AfterEffectsでイージーイーズ...
-
ASP.NET TextBox 入力制限
-
H1タグに改行の<br>を使う
-
aviutlで最後まで動画が読み込...
-
Python 3.12.2 か一番最新のパ...
-
HTMLのバージョンの確認方法は?
-
HTML文章で、表示させない部分
-
DOCTYPE宣言は必要?
-
改行したときの幅を狭くする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューの開く方向...
-
自分のサイトを開いた時にウィ...
-
ASP.Net 別ウィンドウを開く・...
-
HTMLでリンク先を新しいタブで...
-
DBからPDFを取得して別画面で表...
-
HTML 全画面表示 リンク先の...
-
_blank?_brank?
-
VBのタブストリップについて
-
メモ帳やエディタで一度にスペ...
-
j2sdk-1_4_0-win.exeについて
-
HTML,js)リンクを新しいタブで...
-
ポップアップウィンドウからフ...
-
QT 半透明の画面生成について
-
表示中のURLなどをバッチファイ...
-
ホームページビルダーでのドロ...
-
VC++2010 MFC サイズの最大化に...
-
タブブラウザとは1つのウインド...
-
新しいタブで開かせない方法は...
-
タブの膨らみの調整についてcss
-
htmlのボタンでF11を入力
おすすめ情報