- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:入力フォームをカスタマイズして送信したいです。)
入力フォームをカスタマイズして送信したいです
このQ&Aのポイント
- 入力フォームをカスタマイズして送信したいです。フォーム送信の入力欄は2つあり、どのようなフォームにすればいいのでしょうか?
- 入力欄1に「亀有町」を入力し、入力欄2に「葛飾区」を入力すると、送信データAは「亀有町」、送信データBは「東京都葛飾区亀有町」という具合に送信したいです。
- サーバ側でデータを処理するのではなく、送信時に処理したいのですが、どのようなプログラムにすればよろしいのでしょうか?もし、送信時では不可能でしたら、PHPサーバ側ではどのようなプログラムになるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 JavaScriptを利用して実現できますがサーバ側で出来るのであればサーバ側で行うほうが個人的には良いと思います。 ■送信前に加工する場合 ====HTML <form method="post" action="send.php" onsubmit="send(this);"> <input type="hidden" name="Tokyo" value="東京都" /> <input type="hidden" name="MachiKu" value="" /> 町名<input type="text" name="Machi" /><br /> 区名<input type="text" name="Ku" /><br /> <button type="submit">送信</button> </form> ====JS function send ( formObj ) { var str = formObj.Tokyo.value + formObj.Ku.value + formObj.Machi.value; formObj.MachiKu.value = str; } こうすることでサーバ側ではパラメータ名MachiKuを取得すれば 東京都+区名+町名 の文字列が取得できます。 ■サーバ側で処理する場合 $str = $_POST['Tokyo'] . $_POST['Ku'] . $_POST['Machi']; とすれば$strに連結されたものが生成されます。
お礼
LancerVIIさま。教えて頂きまして、ありがとうございます。 お陰様で解決しました。 送信前に加工する方法と、サーバ側で処理する方法を行なった結果、 LancerVIIさまがおっしゃる通り、サーバ側で処理する方法が一番良く解決できました。 解決した内容は、 ====HTML <form method="post" action=""> <input type="text" name="b" /><br /> <input type="text" name="d" /><br /> <button type="submit">送信</button> </form> ====サーバ $bunshou = '単語A' . $_POST['b'] . '単語C' . $_POST['d']; ====処理結果 単語Ab単語Cd ( 単語A+b+単語C+d ) 送信前に加工する方法だと、見せたくない「単語A」と「単語C」がブラウザのソースで見えてしまいますが、サーバ側で処理する方法だと見えないので良かったです。 2日間、やり方が分からずトライ&エラーの連続で路頭に迷った状態でしたが、 解決できて、LancerVIIさまに感謝しております。 また、プログラミングの醍醐味を知り、作るのも楽しくなってきました。 本当にありがとうございました。