質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1034閲覧

JavaScript form パラメータとドメイン

SHIVA

総合スコア43

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/09/03 09:35

編集2019/09/03 11:02

先方先に飛ばす検索窓のイメージです。
select部分でドメイン、inputで通常のパラメータを付けたいのですが、うまくいきません。

以下の状況(コードで)submitすると,
https://hogehoge.com?reset=on //inputをonにした場合
となります。

formのaction値は、selectで選んだものになっています。
(例) https://hogehoge.com/hokkaido/list/

ドメインとパラメータ両方を変更し、遷移させる方法はありますでしょうか?
よろしくお願いいたします。

html

1<form target="_blank" method="get" action=""> 2 <input id="toggle-datepicker" name="reset" value="" type="checkbox"> 3 <select id = "js-criteria"> 4 <option value="1" _action="/hokkaido/list/">北海道</option> 5 <option value="2" _action="/aomori/list/">青森</option> 6 <option value="3" _action="/iwate/list/">岩手</option> 7 </select> 8 <input type="submit" value="検 索"> 9</form>

js

1$('input[name="reset"]').change(function(){ 2 var $propChecked = $(this).prop("checked"); 3 return $propChecked ? $(this).val('on') : $(this).val(''); 4}); 5 6$('#js-criteria').on('change',function(){ 7 var selectedArea = $(this).find("option:selected").attr("_action"); 8 if(selectedArea){ 9 return $('#main_info_datesearch > form').attr( 10 "action", 'https://hogehoge.com' + selectedArea 11 ); 12}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2019/09/03 09:49 編集

> $('input[reset"]') typoでしょうか? ちなみに・・・ ・チェックして北海道を選んだ場合 ・チェックしないで青森を選んだ場合 それぞれどこに飛ぶのが正解ですか?
yambejp

2019/09/03 11:00

$('input[type="reset"]')とありますがhtml側で name=resetの要素はあってもtype=resetの要素はありません nameだと考えて良いですか?
SHIVA

2019/09/03 11:03

はい、ミスです。。
guest

回答1

0

ベストアンサー

ざっくりこんな処理になります。

javascript

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 2<script> 3$(function(){ 4 $('[name=reset]').on('change',function(e){ 5 if($(this).prop('checked')){ 6 $(':hidden[name=reset]').remove(); 7 }else{ 8 $(this).after($('<input type="hidden" name="reset" value="">')); 9 } 10 $(this).closest('form').attr('action',$('#js-criteria option:checked').data('action')).trigger('submit'); 11 12 }); 13}); 14</script> 15<form target="_blank" method="get" action=""> 16 <input id="toggle-datepicker" name="reset" value="on" type="checkbox"> 17 <select id="js-criteria"> 18 <option value="1" data-action="/hokkaido/list/">北海道</option> 19 <option value="2" data-action="/aomori/list/">青森</option> 20 <option value="3" data-action="/iwate/list/">岩手</option> 21 </select> 22 <input type="submit" value="検 索"> 23</form>

投稿2019/09/03 11:10

編集2019/09/03 11:11
yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2019/09/03 11:12

質問の補足にある > /aoyama/list/?reset= が、実はめんどくさい処理で、チェックボックスresetに チェックがついていないとhtmlのルールでは パラメーターがわたされません。 なので未チェック時にはhiddenでresetを動的に作ってやる処理が 必要になります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問