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

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

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

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

HTML

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

Q&A

1回答

3607閲覧

銀行名、銀行コード、支店名、支店コード

sansam

総合スコア18

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2020/01/26 21:45

編集2020/01/29 11:58

https://bankcode-api.appspot.com/api/bank/JP?name=

apiを使って、フォームに入力された銀行名をキーに、
検索結果を表示させて、その情報を取得したいのですが、
https://bank-auto.com/のようなものを作りたいのですが、
ソースコードが分からず困っております。

html,javascriptで実現したいです。

以下、追記です。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
⓵銀行名を入力し検索ボタン押下したら、銀行コードが出てきてほしいのですが出てきません。
銀行コードと支店コードはユーザ側でいじれないようにしています。
HTMLのテキストボックスに、結果を表示させたいのですが、うまくできません。
エラーは明示的に表示されません。

⓶できれば、銀行目に’みず’と打ったら、
候補となる銀行名(みずほ銀行、みずほ信託など)が出てきて選択できると嬉しいです。
jQueryで実現可能でしょうか?

⓷みずほ銀行と入れると、銀行の検索文字が原因で、検索がかからないようですがAPIの仕様でしょうか?ユーザからすれば、銀行名を入力する際、みずほ ではなく、みずほ銀行 と打ち込みされてしまいそうで、困っています。

⓸銀行コードで、支店名を絞り込みした検索は技術的に可能なのでしょうか?
例えば、みずほ銀行の支店名だけ、支店名候補に出てくると助かります。

⓹できれば、検索ボタンを押さなくても、銀行名と支店名が選択できればよいと思っています。
技術的に難しいでしょうか?

●JavaScript
$('btn').on('click', function() {
// 入力された銀行名でWebAPIに情報をリクエスト
$.ajax({
url:https://bankcode-api.appspot.com/api/bank/JP?name=${encodeURIComponent( $('#bankName').val() )},
dataType:'jsonp',
}).done(function(data) {
console.log(data);
//$('bankCode').val(data[0]);
});

});

●HTML

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>test</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <h3>銀行検索</h3> <div> <p> <label>銀行名<input id="bankName" type="text" size="10" maxlength="8"></label> <button id="btn">検索</button> </p> <p><label>銀行コード <input id="bankCode" type="text" size="10" disabled></label></p> <p><label>支店名 <input id="branchName" type="text" size="10"></label></p> <p><label>支店コード<input id="branchCd" type="text" size="10" disabled></label></p> </div> <script src="js/jquery-3.3.1.min.js"></script> <script src="js/java.js"></script> </body> </html>

イメージ説明

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

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

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

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

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

NEO_PLANETT-777

2020/01/26 23:18

丸投げは駄目ですよ せめて今ここまで作成してます。 この部分が不明ですって感じで質問しないと…
m.ts10806

2020/01/26 23:48

>apiを使って、フォームに入力された銀行名をキーに、 検索結果を表示させて、その情報を取得 するコードを作ったら良いのでは というアドバイスならできますよ。 APIであれば仕様書があるはず。使い方の説明もある。なんならそこにサンプルコードもあるのでは? それを参考に自分で組んでみてください。
sansam

2020/01/29 12:02

ご指摘ありがとうございます。 質問を修正いたしました。ご教示いただけますと幸いです。
guest

回答1

0

> html,javascriptで実現したいです。

~~試してみましたが、クロスオリジン制限がありましたので、サーバ側からリクエストしないと無理だと思います。html,javascriptでは実現しないと思っておいた方が無難です。
~~

訂正

すみません、JSONPが使える様でしたので、サンプルコードを挙げます。
サンプル

js

1const jsonp = async function(s, callback='callback'){ 2 return new Promise(function(resolve){ 3 window[callback] = json=>resolve(json); 4 const script = document.createElement('script'); 5 script.src = `${s}&callback=${callback}`; 6 document.head.appendChild(script); 7 }) 8}; 9 10const $id = document.getElementById.bind(document); 11 12$id('search').addEventListener('click', async e=>{ 13 const div = document.createElement('div'); 14 document.body.appendChild(div); 15 div.innerText = JSON.stringify( await jsonp( `https://bankcode-api.appspot.com/api/bank/JP?name=${encodeURIComponent($id('q').value)}` ) ); 16});

html

1<input id="q" value=""> 2<input type="button" id="search" value="search">

 
一応、jQueryを使った例も挙げておきます。
サンプル

js

1$('#search').on('click',async e=>{ 2 const div = $('<div>'); 3 $('body').append(div); 4 div.text( JSON.stringify( await $.ajax({ 5 url:`https://bankcode-api.appspot.com/api/bank/JP?name=${encodeURIComponent( $('#q').val() )}`, 6 dataType:'jsonp' 7 }) ) ); 8});

 
ES5の範囲だとこんな感じでしょうか?
サンプル

js

1$('#search').on('click', function(e){ 2 var div = $('<div>'); 3 $('body').append(div); 4 $.ajax({ 5 url:'https://bankcode-api.appspot.com/api/bank/JP?name=' + encodeURIComponent( $('#q').val() ), 6 dataType:'jsonp' 7 }).then(function(json){ 8 div.text( JSON.stringify( json ) ); 9 }); 10});

質問の追記に合わせて追記

⓵「うまくできません」とは具体的には何が起きているのでしょう。どういったことを理由に「うまくできません」という感想を持ったのでしょうか?

⓶可能でしょう。

⓷APIに渡す前に削除すればいいのでは?

⓸できそうですね。

⓹難しくないと思います。

「まだ回答を求めています」とのことなので追記

どのような問題が発生しているのか不明ですが、

js

1$('btn')

js

1$('#btn')

としてみてはいかがでしょうか?

投稿2020/01/27 02:45

編集2020/01/31 05:56
Lhankor_Mhy

総合スコア36115

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

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

Lhankor_Mhy

2020/01/27 02:59

あっと、すみません、JSONPが使えるようです。 後ほど修正します。
sansam

2020/01/28 13:47

たくさんのサンプルコード、ありがとうございます。助かりました。 そして大変勉強になりました。私の理解力不足で、上手く活用ができておりませんが、 ご教示いただいたコードで、データ取得可能であることを確認できました。 jQueryであれば候補選択も可能になるのだろうと思っています。
sansam

2020/01/28 13:48

ご対応いただいたことに対する返事が遅くなり申し訳ございません。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問