同じform内に、ラジオボタンとサブミットボタンを配置してあります。
ラジオボタンを押された時は自分をsubmit、ボタンが押された時にはsubmitして次の画面へ遷移したいのですが、分岐の方法がわかりません。
<form action="next.htm" method="post">
とやってしまうと、ラジオボタンが押された時にもnext.htmへ遷移してしまいます。

苦慮の結果JavaScriptで、ボタンを押された時にhiddenにフラグをたてておいて、
そのフラグに値が入っていれば
<form method="post">、
入っていなければ<form action="next.htm" method="post">、
という分岐処理を書いたのですが、やはり両方next.htm画面へ遷移してしまいます。
お知恵を貸していただけないでしょうか。
ちなみに下記のようなスクリプトを書きました。

-----------------------------------------------
<script language="JavaScript1.2">
<!--
function chk_sub{
document.form.hdnChkFlg.value="1";
window.document.form.submit();
}
//-->
</script>

<if form.hdnChkFlg="1">
<form method="post">
<else>
<form action="next.htm" method="post">
<end if>

<input type="radio" name="chkSitei" checked onclick="return chk_sub value="1">aaa</input>

<input type="hidden" name="hdnChkFlg" value="">

<input type="submit" value="次へ">
</form>

宜しくお願いいたします。

A 回答 (4件)

Javascript で action って設定できますよ。

試していないんですけど、こんな感じ。

function submit_by_radio() {
document.form.action = "自分のURL";
document.form.submit();
}
    • good
    • 0
この回答へのお礼

こんばんは。回答ありがとうございます。
完璧です。
簡単なことだったんですね・・。
お恥ずかしいです。
この方法で解決できました。どうもありがとうございました。

お礼日時:2001/12/12 23:38

こんにちはsunnysさん、xruzです。


とりあえずテンプレートです。
なにかありましたら補足要求をお願いします。

<html>
<head>
<title>submit</title>
</head>
<script language="javascript">
<!--
function frmSubmit() {
var errFlag=true;
// チェックとか処理とかをします
if(errFlag==false) {
// alert("Err"); // エラー処理かな
return;
}
if(confirm("Send Ok?")) {
// document.frm.target="main"; // 表示先の変更
// document.frm.action="hoge.asp"; // リンク先の変更。ここをifで条件分け?
document.frm.submit();
} else {
// this.location.href="jump.cgi"; // キャンセルした場合のリンク先
}
}
//-->
</script>
<body>

<form method="post" action="" name="frm" target="_self">

<input type="button" value="send" onclick="frmSubmit();">
</form>

</body>
</html>

がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

こんばんは。回答ありがとうございます。
エラー処理の仕方など、勉強になりました。
参考にさせていただきます。助かりました。
まだまだ勉強不足な為また質問させていただくことがあるかと思いますので、その時はまたよろしくお願い致します。
ありがとうございました。

お礼日時:2001/12/12 23:42

1番の方が言われているように、質問の例では動かないと思います


書き方はいろいろあるとは思いますが、サンプルを書いときます。

<html>
<head>
<script type="text/javascript">
<!--
function setpage(name) {
if(name=="") return false;
document.frm.action=name;
return true;
}
//-->
</script>
</head>
<body>
<form name="frm" action="next.html" method="post">
<input type="radio" name="rd" value="1" onclick="if(setpage('this.html')) {document.frm.submit();}">Radio Button1<br>
<input type="radio" name="rd" value="2" onclick="if(setpage('this.html')) {document.frm.submit();}">Radio Button2<br>
<input type="submit" name="bt" value="Button">
</form>
</body>
</html>
    • good
    • 0
この回答へのお礼

こんばんは。回答どうもありがとうございます。
私はJavaScriptはほとんどわからないのですが、色々な方法があるんですね。
勉強になります。何かの時には参考にさせていただきます。
どうもありがとうございました。

お礼日時:2001/12/12 23:40

ええと、私の勘違いや知識が足りないだけだったら済まないのですが、


</script>でスクリプト終了後に普通のHTMLで記述してますよね?HTMLでは<if>などというタグは無かったと言う風に条件分岐などは出来なかったと記憶していますが?
HTMLはあくまで表記言語だと捕らえているので、プログラムなどの処理が必要な場合はCGIを呼び出して使ったりした方が確実ではないでしょうか?
補足、などありましたらまた考えさせて頂きます。
    • good
    • 0
この回答へのお礼

こんばんわ。回答ありがとうございます。
おっしゃる通り、HTMLには<if>なんてタグは無いと思います。
実際はCGIを呼び出しているのですが、ここに全部書くとわかりにくくなると思い、
何をやっているのかの意味さえわかればいいかな、と思って<if>・・・と書いたのでした。
でも混乱させてしまっただけのようで、どうもすみませんでした。
また、何かあればまたよろしくお願い致します。
どうもありがとうございました。

お礼日時:2001/12/12 23:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qaccess2003 クロス集計クエリに抽出条件を設定する

QNo.3495024にて、「取引先ごとの月次売上(部品別および合計)」をフォーム形式で表示する方法を質問した者です。
1)クロス集計クエリの抽出条件としてこのコンボを設定
2)フォームに置いたボタンでクロス集計クエリまたはそれをソースにした別フォームを開く
という方法を教えていただきました。

昨夜から自分なりに調べましたが、1)のクロス集計クエリに抽出条件を設定する方法がわかりません。 昨日の今日で再質問も気が引けますが、時間がないので質問させてください! ご存知の方、よろしくお願いいたします。

Aベストアンサー

>クロス集計クエリに抽出条件を設定する方法がわかりません。
クロス集計クエリでもデザインビューは同じですよ
異なるのはクロス集計クエリではパラメータのデータ型指定を省略できないという点だけです

[クエリ][パラメータ]でパラメータ名とデータ型を指定してください

Q
の中に さらに
があるときのSUBMITボタンについて

今、

<FORM ACTION="aaa.asp" METHOD="POST" Name="form1">
<input type="SUBMIT" value="ボタン1">

<FORM ACTION="bbb.asp" METHOD="POST" Name="form2">
<input type="SUBMIT" value="ボタン2">
</FORM>

</FORM>


としていて、ボタン2を押すとbbb.aspに
飛んでほしいのでに、aaa.aspに飛んでしまいます。
こういう場合どのようにすればよいのでしょうか?

それぞれのボタンは hidden の値をそれぞれの
フォームの中の値を渡したいので
どうしてもSubmitがいいのです。

Aベストアンサー

No.4の回答者_Leoですが、分かりにくかったと思いますので、
全ソースのサンプルを記載しますので、参考にして下さい。
No.6のyou111111さんと同じく、JavaScriptを使用しています。
下記をそのまま、新規のhtmlにコピペで使用できますよよヨ。
本来のサイトが使用しているテキストボックス名は'MT'です。
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<!---gooはEUCキャラクタを使っています--->
<html>

<head>
<title>SAMPLE</title>
<meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script language="JavaScript" type="text/javascript">
<!--
//<クリックした時に実行される関数>
//*** 英和辞書
function func1(form){
document.form1.MT.value =form.TXT.value;
document.form1.submit();
}
//*** サーチ
function func2(form){
document.form2.MT.value = form.TXT.value;
document.form2.submit();
}
//-->
</script>
</head>

<body>
<!---実際に画面表示されるフォーム--->
<form>
<input type="text" name="TXT" value="Congratulation" size="40"><br>
<input type="button" onClick="func1(this.form)" value="Eng-JP">
<input type="button" onClick="func2(this.form)" value="goo">
</form>

<!-- 辞書用の仮想フォーム -->
<form name="form1" method="GET"
action="http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi">
<input type="hidden" name="MT">
<input type="hidden" name="sw" value="0">
</form>

<!--- サーチ用の仮想フォーム --->
<form name="form2" method="GET"
action="http://search.goo.ne.jp/web.jsp">
<input type="hidden" name="MT">
</form>

</body>
</html>

No.4の回答者_Leoですが、分かりにくかったと思いますので、
全ソースのサンプルを記載しますので、参考にして下さい。
No.6のyou111111さんと同じく、JavaScriptを使用しています。
下記をそのまま、新規のhtmlにコピペで使用できますよよヨ。
本来のサイトが使用しているテキストボックス名は'MT'です。
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<!---gooはEUCキャラクタを使っています--->
<html>

<head>
<title>SAM...続きを読む

Q住所録から2つ以上の条件で抽出する関数について

Windows Excel 2003で住所録から2つ以上の条件で抽出するにはどんな関数を使えばいいですか?

例えば住所録で『TELとFAXが異なっている番号の別々のセル』と『TELとFAXが同じ番号のセル(TELとFAXが同じなのでFAXのセルは空欄)』尚且つ『Eメールのある会社名』を抽出する関数はありますか?

Aベストアンサー

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わせが必要です。
ーー
Googleで「imogasi方式」で照会してください。条件をかけて、抜き出す課題が相当数出てきます。
回答は
A.関数の組み合わせー作業列なし
B.関数の組み合わせー作業列を使うー>Imogasi方式など
などの回答が見られます。
もちろんフィルタやフィルタオプションの設定のお勧めの回答もあるでしょう。
私見では、A.の式が理解できたら、関数は9割5分は卒業です。
関数に拘らず、データ^フィルターフィルタオプションの設定
をお勧めします。(データーフィルタではないですよ)

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わ...続きを読む

Q

が場所をとってしまい表示スペースに空白ができてしまい配置が乱れてしまいます
どうしたら'hidden'のサイズが0であるかのように振舞わせることができるでしょうか?
テーブルの中に使っているのでテーブル枠が不必要に広がってしまいました
折り返しが起こりtrの高さが増えてしまったのです

Aベストアンサー

タグの前後で改行している(<br>タグではなくソース上で)、ということはありませんか?
もしそうなら削除してみてください。

Q別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか

毎日、以下のような作業内容が手元にくるのですが今までは手でノートに振り分け管理していたのですが、エクセルの関数で別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか。
よろしくお願いします。

↓毎日くる作業内容です。
ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる

Aベストアンサー

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプションの設定で出来るはず。
関数関数と言うが、エクセルは第1的には、操作の体系のソフトですよ。他シートにデータを出すのは、他シート側で操作を始めてください。
ーー
関数なら、自称「imogasi方式」で出来ると思います。
Googleで「imogasi方式」で照会すれば数百の例が出ると思います。
現データシート(Sheet1)条件該当分の行にだけ、上の行から順に連番をフリ(式の複写を使う)、他シート(Sheet2)で
Sheet2の行1に-->Sheet1の連番1の行をINDEX関数で持ってくる。
Sheet2の行2に-->Sheet1の連番2の行をINDEX関数で持ってくる。
・・以下同じ。
これを式の複写で自動で行える。
=====
合計だけで良いのなら、多分、条件が多数のものに対する合計をほしい、になり、条件値の組み合わせを手作業でセルにセットするのか、操作関数で出すのかも質問に書いてない。合計を出すより、この条件データを揃える方が、いつも言っているが、難しい。
>複数条件を選択すると抽出され合計値がでてくるような関数
これが文字通り合計計数だけでよいなら、毎日ここに質問が出る
SUMPRODUCT、SUMIFSのどちらかをつかえだけ。質問にエクセルバー順が書いてないのは、エクセルの勉強経験不足。
2007で便利な関数が出来たのは有名な話。

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプション...続きを読む

Q~ の中に