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

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

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

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

HTML

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

Q&A

1回答

810閲覧

クライアントから取得したフォームタグをHTML内に複数回使用したが、idが設定されている場合

mimick

総合スコア0

JavaScript

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

HTML

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

0グッド

2クリップ

投稿2021/11/10 02:58

編集2021/11/10 03:15

前提・実現したいこと

ランディングページを制作しています。
ページ内にメールアドレス入力フォームが複数回登場するため、
クライアントからいただいたフォームタグをそのまま複数回コピペしようとしたら、
タグ内にidが設定されておりエラーが出ました。

基本的なhtml/css知識しかなく、困っています。

このような場合、どのようにコーディングすれば良いでしょうか?

ご教示いただけますと幸いです。

発生している問題・エラーメッセージ

the id value [UserItemForm]must be unique.
the id value [Usermail]must be unique.
the id value [server_url]must be unique.

該当のソースコード

html

1<div class="content_form"> 2 <form action="https〜" enctype="multipart/form-data" id="UserItemForm" class="myForm" method="post" accept-charset="utf-8"> 3 <input type="hidden" name="_method" value="POST"/> 4 <!-- メールアドレス --> 5 <div class="input text input_unit "> 6 <div class="my_column my_left"> 7 <div class="label_frame"> 8 <label for="Usermail" class="form_input_label ">メールアドレス</label> 9 </div> 10 </div> 11 <div class="my_column my_right"> 12 <input name="data[User][mail]" id="Usermail" value="" class="" type="text" required="required"/> 13 </div> 14 </div> 15 <!-- 画像認証 --> 16 <!-- 確認ボタン --> 17 <div class="submit form_input_submit"> 18 <input type="submit" value="登録する"/> 19 </div> 20 <input type="hidden" id="server_url" value="https://〜> 21 22 <!-- ▼リファラ --> 23 <input type="hidden" name="data[User][referer_form_url]" value="" class="UserRefererFormUrl"/> 24 <input type="hidden" name="data[User][referer_url]" value="" class="UserRefererUrl"/> 25 26 <script type="text/javascript"> 27//<!-- 28 if (document.referrer.length !=0 ){ 29 if (document.getElementsByClassName("UserRefererUrl")) 30 { 31 var user_referer_url = document.getElementsByClassName("UserRefererUrl"); 32 for (var i = 0; i < user_referer_url.length; i++) 33 { 34 user_referer_url[i].value = document.referrer; 35 } 36 } 37 else if (document.getElementById("UserRefererUrl")) 38 { 39 document.getElementById("UserRefererUrl").value = document.referrer; 40 } 41 } 42 43 if (document.getElementsByClassName("UserRefererFormUrl")) 44 { 45 var user_referer_form_url = document.getElementsByClassName("UserRefererFormUrl"); 46 for (var i = 0; i < user_referer_form_url.length; i++) 47 { 48 user_referer_form_url[i].value = location.href; 49 } 50 } 51 else if (document.getElementById("UserRefererFormUrl")) 52 { 53 document.getElementById("UserRefererFormUrl").value = location.href; 54 } 55//--> 56 </script> 57 <!-- ▲リファラ --> 58 59</form> 60</div> 61 62<script src="https:〜"></script>

試したこと

Java Scriptに関する知識がなく、単にidをclassに変更してしまうと不具合が出るのでは?と思い何もできずにいます。

<script src="https:〜"></script>こちらに記載されているJavaファイルはクライアントサーバー内にあり触ることができません。

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

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

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

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

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

jimbe

2021/11/10 03:10

コードはマークダウン記法を利用してご提示ください。 マークダウンに関しましてはヘルプを御覧ください。 java と javascript は違う言語です。タグを修正されたほうが良いかと思います。 >基本的なhtml/css知識しかなく >Java Scriptに関する知識がなく どちらも解説書・サイトがそれなりにあるものと思います。それらを活用して勉強されることをお勧め致します。
mimick

2021/11/10 03:17

Jimbe様 ご指摘ありがとうございます。 こちら初めて利用させていただきましたので至らない点多々あると思い恐縮です。 あまり時間もなく調べる方法もわからず藁をもすがる思いでこちらに質問させていただきました。 どうぞよろしくお願いいたします。
Lhankor_Mhy

2021/11/10 03:20

エラーというのはlintですよね? 支障がないならば、IDを変えればいいのではないかと思いますが、何か問題があるのですか?
mimick

2021/11/10 03:26

エラーメッセージはコーディングソフト(dreamweaver)に表示されたものですが、IDを変更することで支障がないのかどうかがわかりません。 IDを変更した場合、情報取得先(おそらくクライアントが契約しているメール配信サービス)で不具合が出ないでしょうか?
Lhankor_Mhy

2021/11/10 03:51

それはクライアントに尋ねるべきでは。 なお、クラスに変更すると不具合があるのでやめた方がいいです。
mimick

2021/11/10 05:01

Lhankor_Mhy様 そうですね…やはりクライアントに伺うべきでしょうか。 クラスに変更はNGですね!危うくやってしまおうかと思っていました。 ありがとうございます。
guest

回答1

0

IDを変更することで支障がないのかどうかがわかりません

IDを変更しないことですでに支障がでているのですから
変更したことによる支障は考える必要はありません。
支障がでたらそれなりの対応をするだけです

(そもそもIDいりのソースをコピペしようとすることが間違いなので)

投稿2021/11/10 03:42

編集2021/11/10 03:42
yambejp

総合スコア116724

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

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

mimick

2021/11/10 05:06

yambejp様 ご回答ありがとうございます! ちなみに以前納品したLPもそのようなコーディングをして、気付かず納品しました。 >(そもそもIDいりのソースをコピペしようとすることが間違いなので) 確かにそうなんです。そこに気付かなかった私の落ち度です… ただ、LPに同じメールフォームが複数回登場する場合の他のコーディング方法を知らず、他のLPなどを見るとID入りがそのままコピペされていたり、そもそもフォームタグにID設定がなかったりと色々だったので、どうするのがベストなのかわからず質問させていただきました。
yambejp

2021/11/10 05:10

もしリファクタリングするのでしたらhiddenは全部廃止してください コピーする可能性がある場所のIDはすべて外してください その上で、動作するものをつくり、あとはコピペで再チェックするだけです data[xxx][mail]的な書き方もコピペをすると正しく挙動しないと思います
mimick

2021/11/10 10:31

yambejp様 ありがとうございます。 リファクタリング…などは私には難しくておそらくできないですが、おっしゃるようにhiddenを全部廃止した場合、クライアントさんに必要な情報が受け取れなくならないでしょうか? >data[xxx][mail]的な書き方もコピペをすると正しく挙動しないと思います そうなんですね…例えばどのような不具合が起こるのでしょうか??
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問