• 締切済み

長いURLをフォームに入力させる方法について

社内の図書注文フォームを作ろうと思っています。 amzonのurlは最長で2000字を超えるそうです。 図書名: 金額:以外は当該ページのURLを貼ってもらい送信してもらおうと思っています。 短縮URLに変換するというのも考えましたが個人が運営しているフリーソフトしかなく、突然サイトが閉鎖されたり、マルウェアの危険性もあるということなのでやめました。 注文フォーム用のウェブサイトも幅は1000pxしかとっておらず、 通常の<input type="URL"……>のフォームで高さ、幅を大きくすれば4行、5行にまたがるURLを貼り付け途切れないように確認できるものなのでしょうか? いっそ<textarea>を使いそこにURLを貼ってもらおうかなとも考えています。 そういうやり方というのは間違った使い方なのでしょうか? この場合、2000字程度の文字列を入力する場合、colsやrowsはどれくらいの値をすればいいのでしょうか? <textarea type="url" name="A" cols="B" rows="c" ></textarea> まだまだ初心者です。これ以外にも何かいい方法をご存じでしたら教えてください。 よろしくお願いします。 投稿画像

みんなの回答

  • asciiz
  • ベストアンサー率70% (6809/9681)
回答No.1

そのような心配はご無用です。 たとえ表示領域が100pxだったとしても、入力長をあえて制限しなければ、1000文字だろうが2000文字だろうが、普通の<input type="URL">に入力することができます。 ただしフォームデータは"POST"方式で受け取ってください。(<form action="(URL)" method="POST" …>) formデフォルトの"GET"方式では、データが途中で切れる恐れがあります。 ---- ところで、AmazonのURLはとても長くなることはありますが、それは商品カテゴリを選んだ文字列や、商品名そのもの、そしてユーザーが検索に使った文字列がそのままURLに含まれているためです。 商品を指定する部分だけ取り出せば、かなり短くすることができます。 一般商品の場合: https://www.amazon.co.jp/dp/(ASINコード) または https://www.amazon.co.jp/gp/product/(ASINコード) ※ASINコードは、Amazonが商品につけた独自の管理コード。(Amazon Standard Identification Number) 書籍の場合: https://www.amazon.co.jp/dp/(ISBNコード) このように短縮できます。 例えば適当に検索して、クリック表示したこちらの書籍。 >https://www.amazon.co.jp/%E8%84%B3%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%82%92%E6%9C%80%E5%A4%A7%E3%81%BE%E3%81%A7%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%99-%E7%A5%9E%E3%83%BB%E6%99%82%E9%96%93%E8%A1%93-%E6%A8%BA%E6%B2%A2-%E7%B4%AB%E8%8B%91/dp/4479795820/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E6%99%82%E9%96%93%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9&qid=1567223714&s=books&sr=1-2 URLエンコードされている部分を日本語に直すと、 >https://www.amazon.co.jp/脳のパフォーマンスを最大まで引き出す-神・時間術-樺沢-紫苑/dp/4479795820/ref=sr_1_2?__mk_ja_JP=カタカナ&keywords=時間の使い方&qid=1567223714&s=books&sr=1-2 このように書かれています。 そしてこの中で商品を特定するのに必要なのは、/dp/ とそれに続くISBNコード部分 >https://www.amazon.co.jp/dp/4479795820 たったこれだけで、その書籍を表示することができます。 しかしまあ、ユーザーにこの作業をしろというのは酷なので、やはり入力フォームとしては長いURLをそのままコピペしてもらい、システムの方ではISBNコードだけ取り出して処理する、というようにするのが良いでしょう。 URLとして何か貼り付けられたな、と言うことが分かればいいので、URL全体を表示できる必要性は無いと思います。 (貼り付けられたURLがAmazonのものであるか確認、そしてそこからISBNコードを取り出すのはシステムの仕事。)

関連するQ&A