• 締切済み

HTMLのフォームを使用しメール送信すると全角が化けてしまうのですが・・・

JavaSctript初心者です。 すみません、教えて下さい。 HTMLでボタンを押すと、 JavaScriptで、Windowを開き、 そのWindowにはメール送信する為のフォームを書き出し、 そのページからメールを送ることをやりたいのですが、 デコードしても全角が化けてしまいます。 ちなみにブラウザはIE5.0で、CGIは使用出来ません。 この書き出したページのソースをコピーしHTMLで適当に保存し、 そのページを直接開いてメール送信すると化けません。 (↑これが正常に見れるので、デコードの仕方に問題はないと思いますが・・・) ソースの違いはないのですが、何かやり方がまずいのでしょうか? JavaScriptの問題ではないかもしれませんが・・・ 見よう見真似で作っているものですから、 どなたか分かりましたら教えて下さい。 このソースは・・・ function fmurl(){ var win_opn=window.open('','win001',''); : win_opn.document.open("text/html"); win_opn.document.write("<META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=Shift_JIS'> "); : win_opn.document.write("<FORM name='form01' action='mailto:****@****.co.jp?subject=AA' method='post'"); : win_opn.document.write("<INPUT size='50' type='text' name='F01' maxlength='50'>"); win_opn.document.write("<INPUT type='submit' value='送信'>");   : win_opn.document.close(); } // --> : <FORM><INPUT type="button" onclick="fmurl();" name="fmon" value="BTN"></FORM>

みんなの回答

noname#9414
noname#9414
回答No.1

どこが文字化けしているか書かれていないので、何とも言い難いのですが、Subjectが文字化けするのはRFCをみてみれば対処法がわかるはずです。2バイト文字のエンコードが書かれているはず。また、基本的にメールはJISというのが暗黙の了解のようなので、送信する前にヘッダから本文までJISにエンコードする必要があるはずです。 そこら辺はきちんとされているのでしょうか? どこが文字化けをしているのかなど補足した方がより詳しいフォローが付くと思いますよ。 ではでは☆

関連するQ&A

  • メールフォーム設定について

    HP初心者です。メールフォーム作成について質問させていただきます。 現在 http://sitemix.jp/ の提供している無料CGIサービスを利用しており、パスは/usr/lib/sendmail とのことなのですが、下記のようなソースを書いてもうまく送信できず、エラーになってしまいます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>無題ドキュメント</title> </head> <body> <form name="form1" method="post" action="/usr/lib/sendmail"> <p> 名前 <input type="text" name="textfield"> <INPUT TYPE="hidden" NAME="endmail" VALUE="thanks.htm"> <input type="hidden" name="tomail" value="メールアドレス"> <input type="hidden" name="submail" value="mailform"> </p> <p><br> <input type="submit" name="Submit" value="送信"> </p> </form> </body> </html> どこか間違っている場所などあればお教えください。どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • 送信フォームがきちんと作動しません~

    HTML文書中に次のような記述をし mailto:の後ろのメールアドレスは自分のメールアドレスに書き変えたのですが <form metho="POST" action="mailto:●●@△△.■■.jp"> <div>名前: <input type=text name="NAME" size=20></div> <div>感想: <input type="text" name="MSG" size=20></div> <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> </form> このHTMLに枠内に文字を入れ 送信ボタンを押しても また アウトルックのメール用紙が出てきてしまい せっかく記入したものが送信できません (1) なぜ送信ボタンを押した内容が送信できないのでしょうか?   (mailto:~ のメールアドレスに送信されないの??) (2) 送信ボタンを押すと メール用紙がでてくるのはなぜでしょうか? (3) このソースですと 直接送ることは不可能ですか? (4) この場合 メッセージをデコードするという作業は必要なのですか? (5) CATVの環境で CGIが使えません  送信タイプの簡単なものを教えてく ださい

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • メールフォームの中身が文字化けする

    携帯でホームページのURLを打つのはとても面倒なのでPCから任意の携帯へ特定ホームページのURLを送るスクリプトを組みました。 でもメールタイトルやメール本文の日本語が文字化けしてしまうのでローマ字でやっています。何かいい方法はありませんか? <html> <head> <title>mail</title> <script language="JavaScript"> var atesaki; </script> </head> <body> <form name="form1"> ここに携帯のアドレスを入れてから送信画面へ進んでください。<br> <input type="text" size="50" maxlength="256" name="MAIL"> <br><br> <input type="button" value="送信画面へ進む" onClick="dainyuu()" > </form> <script language="JavaScript"> <!-- function dainyuu(){ atesaki=form1.MAIL.value; if(atesaki.indexOf("@")>0) { newpage() } } function newpage(){ document.write('<body>'); document.write("<form name='form2'><input type='button' value='戻 る' onClick='history.back()'></form><BR>"); document.write('<form action=mailto:'); document.write(atesaki); document.write("?Subject='URL WO OKURIMASU' method=POST enctype=text/plain name=form3><br>"); document.write("送信を押すと携帯の"); document.write(atesaki); document.write("にURL<br>http://xxxxxxxxxxxxが送信されます。<br>"); document.write("<input type=hidden size=50 maxlength=256 name=URL value=URL WA KORE DESU http://xxxxxxxxxxxx> <br><br>"); document.write('<input type="submit" value="送 信"></form>'); } //--> </script> </body> </html>

  • PHPでフォームからの送信

    PHPでフォームからデータを送信する方法について教えてください。例えばPHPファイルの中に下の様にフォームを作成して、送信ボタンを2つ作ります。一つのボタンをクリックすると全てのフォームの情報が送信されてしまいますが、独立して送信できるようにはできないのでしょうか。簡単にでもできるかできないかを教えていただけましたら、あとは自分でなんとかがんばりますので、どなたか教えていただけれますと幸いです。宜しくお願いします。 <form action="abc.php" method="post"> AAA:<input type="text" name="simei"> BBB:<input type="password" name="pass"> <input type="submit" value="送信"> </form> <form action="abc.php" method="post"> CCC:<input type="text" name="simei"> DDD:<input type="text" name="pass"> <input type="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • メールフォームの内容を送信者にも控えがとれるようにしたい

    下記の件で困っています。 HTMLの中で、メルフォを設けました。 <form method=post action="フォームデコードサービス"> <input type=hidden name="_mailto" value="***@*****.ne.jp"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="http://戻りURL.htm"> <table border="0" cellpadding="5" cellspacing="0" width="900"> <tr> <td width="150">氏名</td> <td colspan="2" width="700">     <input type="text" size="30" name="氏名"></td> </tr> ・ ・ ・ <p> <input type="submit" value="submit"> <input type="reset" value="reset"> </p> </form> 最初はデコードサービスを使わなかったのですが、Macから送信されるデータが文字化けする為、使うことにしました。 しかし、そうすると、送信者に送信内容が残らなくなってしまいました。 送信者の手許にもコピーが残るようにしたいので、お知恵を拝借できれば幸いです。 よろしくお願い致します。

  • テキストフォームの内容をページ内に表示する方法

    初めて質問します。 JavaScriptも初心者です。 初めてづくしで見苦しい点もあるかと思いますが、よろしくお願いします。 複数のテキスト入力欄に書き込まれた内容をページ内に表示したいと思い、下のようなコードを書いています。 ---------- <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <body> <script type="text/javascript"> <!-- function output(){ document.write(document.forms[0].text1.value); document.write("<br>"); document.write(document.forms[0].text2.value); document.write("<br>"); } // --> </script> <form action="#" name="form1"> <input type="text" name="text1"> <input type="text" name="text2"> <input type="button" value="output" onclick="output()"> </form> </body> </html> ---------- forms[0]以降、forms[1]、forms[2]…と同様に続けたいと思ってこのようにしたのですが、 function output()内の3行目でつまってしまうようです。 入力欄オブジェクトの指定方法がまずいのかも、とも思うのですが… Statement on line 6: Cannot convert undefined or null to Object というエラーメッセージが出ています。 自分で使うためのプログラムで、体裁にこだわるつもりはありません。 何かよい解決方法はないでしょうか。 どうかよろしくお願いします。

  • フォーム

    こんにちは。HTMLのフォームについて質問です。 下のようなソースで、bbbの送信ボタンを押した時にはAAAの内容とBBBの内容を、cccの送信ボタンを押した時にはAAAの内容とCCCの内容を送信する、という方法はありますでしょうか。 実際に作成しているものは、BやCの形が20件ほどあるので、AAAをBとCのフォームにそれぞれ書くというのは非常に効率が悪く、「他にもいい方法があるよ」というものでも結構ですので教えていただけたら、と思います。 <form name="formA"> <input type="text" name="AAA" /> </form> <form name="formB"> <input type="text" name="BBB" /> <input type="submit" name="bbb" /> </form> <form name="formC"> <input type="text" name="CCC" /> <input type="submit" name="ccc" /> </form>

    • ベストアンサー
    • HTML
  • フォームの一部のfileを送信

    上手に出来る方法をアドバイス下さい。 <form method="post" name="uploadForm" id="uploadForm" enctype="multipart/form-data" action="aaa.php"> <input type="text" name="text1" id="text1"> <input type="file" name="upload_file" id="upload_file"> <input type="button" value="アップロード"> <input type="text" name="text2" id="text2"> <input type="submit" value="送信"> </form> のようなフォームで「アップロード」が押された場合、"upload_file"だけ送信したいのですが上手い方法があるでしょうか? また、「送信」が押された場合、"upload_file"以外を送信したいです。 「POST先で無視をする」以外でお願いします。

  • メール送信フォームで、メールが白紙で送られてしまう

    フォームを使って、下のような簡単なメール送信フォームで試したのですが、メールは送信できるのにその内容が白紙で送られてしまいます。(メーラーやブラウザにもよるのでしょうか?ちなみにメーラーは手裏剣2、ブラウザはIE5.5のSP2を使っています。) <FORM METHOD=POST ACTION="mailto:***@xxx.yyy.zzz"> <DIV>名前: <INPUT TYPE=text NAME="NAME" SIZE=20></DIV> <DIV>感想: <INPUT TYPE="text" NAME="TESTMSG" SIZE=20></DIV> <INPUT TYPE=submit VALUE=" 送信 "> <INPUT TYPE=reset VALUE=" 取消 "> </FORM>

専門家に質問してみよう