• 締切済み

formからname属性でjsに文字列を渡したい

<!--mail.js--> function dispText() { m1="abcd"; m2="@or.jp"; m3="?subject="; m4="sample"; m5="の入札希望&body="; m6="sample1"; document.getElementById("sec3").innerHTML = '<a href="mai'+'lto:'+m1+m2+m3+m4+m5+m6+'">'+m1+m2+'</a>'; } <!--mail.jsおわり--> m4="sample"  m5="sample1" sample,sample1のところにformから飛ばしてきた文字列を入れたいのですがjsファイルでどのようにして受け取り、変換したらいいかわかりません。 個人のネットショップでHPは2009.4.11にphpでmailが送れる様につくり初めてアップしましたが、 プロバイダーの都合上ユーザー用意のCGI&PHPは送信容量&時間単位で送信規制がかかるらしくphpのままではメールが送れなくなる危険性が高いのでjavaScriptで作ることになりました。 ネット上でも調べてみましたが変換のしかたがよく分からなかったのでここで質問します。 よろしくお願いします。

みんなの回答

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.4

うーん、メールフォームひとつまともに動かない、けど、一応動かせるって私の常識を超えたサーバなようでした。失礼しました。 Javascriptでの値の受け取りですが 適当に検索したうえ、内容をちゃんと見てませんが、 http://f32.aaa.livedoor.jp/~azusa/index.php?t=js&p=location4 こちらが参考になるかも。 ただ、#1さんの懸念がありますので、私なら#3さんの提案のように他サーバーを利用するような手を考えます。 (なんだかわからない仕様のサーバーのようなんで、まるごと引っ越す事を真っ先に考えますがw)

7-ryutarou
質問者

お礼

正直言うと・・・ HPアップする前にこのような事態が分かってたら100%こんなサーバー使ってませんね・・・。 アップしちゃったからしょうがなく対策考えてるんです。 Javascriptのりんくありがとうございます。 今後の勉強に使わせてもらいます。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

まったくの別案ですが… メール送信部分だけを抜き出して、無料のレンタルサーバでCGIやPHPを動かすというのはどうでしょうか? (永続性とかダウンの可能性、アクセス速度などいろいろ問題はあるかも知れませんが…) 参考までに  http://www.kooss.com/hp/freeserver.html

7-ryutarou
質問者

お礼

メール送信部分だけ無料のレンタルサーバーで動かす? それは、どういう風に設定するんでしょう?

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

大抵の制限はspamメールの送信とかサーバの稼動に影響するほど重いスクリプトの実行をさせないためのもの。 個人のネットショプのメールフォーム程度が実用的に使えないほどの規制ってのはないと思います。 (もし、実際に規制がかかる事があるならスクリプトの欠陥を疑ったほうがいい) phpを使い続けるべきだと思いますよ。

7-ryutarou
質問者

補足

いやープロバイダーの利用規約ユーザー用意のCGI&PHPは送信容量&時間単位で送信規制がかかるとはっきり書いてるんだわ・・・ さらにmail送信できるかどうか確認のテスト数回試したら最初のうち4回ほど動いたけどロックかかっちゃたんで・・・ formも使わずphpファイル内でmailto:送信なんで軽いわけで・・・ その前に、サーバーはアパッチ使ってるということなのでphpは動く環境らしいけど、プロバイダーの利用規約上は使っていいことになってないのね・・・ 正式にはphpファイルがまずいわけ・・・

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

mailtoから飛ばすのは結局メーラー依存のため精度にかけます。 あまり有効な方法だとは言えません。 データを渡す方法は、グローバル変数でわたすか、ユーザー関数 dispText()の引数として渡してやればよいでしょう。 ただし日本語を渡す場合はきちんとしたエスケープをしてやらないと バケバケで結局読めない・・・なんてことも

7-ryutarou
質問者

お礼

そうなんです・・・。 最初にメアド+件名+本文で作ったんですが・・・ メールアドレスは英数字なので文字化けしなかったんですが 件名&本文の日本語はしっかり文字化けしてました。

関連するQ&A