• 締切済み

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

  • 文字列変換について

    以下のようなソースで作っています。 文字を画像に変換する基本的な事は出来たのですが、どうしたのかhtmlに書かれている すべてのひらがなが画像に置き換わってしまいます。 <body>以下のすべてのひらがなが影響を受けてしまいます。 (ひらがなは花の名前をひらがなで書くため、ひらがなだけが影響を受けます) form、inputしてそれだけを画像にしてくれればいいのですが… ソースは以下の通りです。 <script type="text/javascript" src="js/chgpic.js"></script> <script type="text/javascript" src="js/jquery.js"></script> // 上のJavaScript (chgpic.js)は以下の通りです。 function func(){ document.body.innerHTML = document.body.innerHTML.split('つつじ').join('<img src="tutuji.gif">'); document.body.innerHTML = document.body.innerHTML.split('さくら').join('<img src="sakura.gif">'); } そしてbodyタグの前にphpをちょこっと書きます。 <?PHP // 対象文字列を取得する $targetText = $_POST["target_text"]; // 文字列置換を行う $replaceText = str_replace("A", "×", $targetText);←ここをchgpic.jsにある花の名前を花の画像に変えます。 ?> <body onLoad="func()"> <form method="post" action=""> <textarea name="target_text" cols="50" rows="3"></textarea> <input name="変換" type="button"> <br> <div><?= $replaceText ?></div> </form> こんな感じですが、どうもbodyにある onLoad="func()" が駄目なようです。 これはページ読み込み時に動作するという事でよろしいでしょうか? formのtextareaに入力した文字が  最後の<?= $replaceText ?>に画像で出ればよいのですが。 私はphpなど全くの初心者で、あちこちのサイトやプログラムからつぎはぎで何とかここまで作ったのですが 基礎が出来ていないのでやはり難しいです。 body にonLoadじゃない他の命令を書くのか? ボタンを押して<?= $replaceText ?>に画像が出るようにするにはどうすればよいでしょうか? また書く必要のない命令文などはありますか? 逆に欠けているものは…   わかりにくい文言で申し訳ありません。 アドバイスをお願いいたします。

    • ベストアンサー
    • PHP
  • エクセルの列に文字追加置き換え?

    エクセルでA1~A10000ぐらいに文字データが入っています. これに1文字先頭につけて更新したいのです. たとえば 1234A 1234A  | 2345A 2345A  | と同じデータが続く場合と続くかない場合もあります. この文字列の先頭に全部Mという文字を付加したい場合 どのようにしたらいいのでしょうか? 変換後 M1234A M1234A  | M2345A M2345A  | マクロなどわからないので最初にMをつけてコピー貼り付けでやっています. でもデータがはんぱでなく多いので何かいい方法があるのではと思ってはいますが どのようにすればいいかわかりません. どなたかお教え願えないでしょうか?

  • 外部 jsのロード場所で、スクリプトが利かない。。

    以下の HTML コードのように書くと <p id="info"></p> に外部 js から文字が入ります。 head 内に同じ外部 js を読み込ませると文字が表示しません。 head 内に外部 js を読み込ませて表示させるには、どのようにすれば良いのでしょうか? また、表示しない原因は何でしょうか ? ご回答よろしくお願いいたします。 htmlソース------------ <!DOCTYPE html> <!-- saved from url=(0013)about:internet --> <html lang="ja"> <head> <meta charset="UTF-8"> </head> <body> <div> <p id="info"></p> </div> <script src="./sample.js"></script> </body> </html> sample.js ---------------- switcher(); function switcher () { document.getElementById( 'info' ).innerHTML = "テキスト A"; }

  • 数学、代数の問題を教えてください。

    数学、代数の問題を教えてください。 文字の直後の数字は添え字です。 1. β1=1,β2=√2,β3=√5,β4=√10 とおき,a,b,c,d を有理数とするとし α=a+b√2+c√5+d√10 とおく。4次行列 M=[mij](ijは添え字)の各成分を次のように定義する。    ・αβ1=m11β1+m21β2+m31β3+m41β4  ・αβ2=m12β1+m22β2+m32β3+m42β4  ・αβ3=m13β1+m23β2+m33β3+m43β4  ・αβ4=m14β1+m24β2+m34β3+m44β4    (a)行列 M とその行列式と固有方程式を求めよ。  (b) α の最小多項式を求めよ。 2.  α を代数的数で、そのQ上の最小多項式を X^4+X^3a3+X^2a2+Xa1+a0 とする。ここで係数は有理数である。    γ1=1,γ2=α,γ3=α^2,γ4=α^3 とおき、4次行列 M´=[mij]の各成分を次のように定義する。    ・αγ1=m11γ1+m21γ2+m31γ3+m41γ4  ・αγ2=m12γ1+m22γ2+m32γ3+m42γ4  ・αγ3=m13γ1+m23γ2+m33γ3+m43γ4  ・αγ4=m14γ1+m24γ2+m34γ3+m44γ4  (a)行列 M´ とその行列式と固有方程式を求めよ。  (b) α の最小多項式を求めよ。 よろしくお願いします。

  • 数学、代数の問題を教えてください。

    数学、代数の問題を教えてください。 文字の直後の数字は添え字です。 1. β1=1,β2=√2,β3=√5,β4=√10 とおき,a,b,c,d を有理数とするとし α=a+b√2+c√5+d√10 とおく。4次行列 M=[mij](ijは添え字)の各成分を次のように定義する。    ・αβ1=m11β1+m21β2+m31β3+m41β4  ・αβ2=m12β1+m22β2+m32β3+m42β4  ・αβ3=m13β1+m23β2+m33β3+m43β4  ・αβ4=m14β1+m24β2+m34β3+m44β4    (a)行列 M とその行列式と固有方程式を求めよ。  (b) α の最小多項式を求めよ。 2.  α を代数的数で、そのQ上の最小多項式を X^4+X^3a3+X^2a2+Xa1+a0 とする。ここで係数は有理数である。    γ1=1,γ2=α,γ3=α^2,γ4=α^3 とおき、4次行列 M´=[mij]の各成分を次のように定義する。    ・αγ1=m11γ1+m21γ2+m31γ3+m41γ4  ・αγ2=m12γ1+m22γ2+m32γ3+m42γ4  ・αγ3=m13γ1+m23γ2+m33γ3+m43γ4  ・αγ4=m14γ1+m24γ2+m34γ3+m44γ4  (a)行列 M´ とその行列式と固有方程式を求めよ。  (b) α の最小多項式を求めよ。 よろしくお願いします。

  • EdMax フリー版で m3が入力できません

    受信メールでもm3が?に変換されています。 送信データにもm3が入力できません。 だから、わざわざ「立方メートル」と書かなくてはいけません。 なにか入力できるように解決策はないのか、教えてください。

  • 特殊な文字列のデコードについて

    ご教授願います。 迷惑メールなどに多いのですが、下記の様に記述されている文字列があります。 ↓↓↓↓↓↓ =1B$B"(%a!<%k1\MwL5NA"(=1B(B 上記の文字列をフリーウェアの「MBaker2」でデコードすると ↓↓↓↓↓↓ ※メール閲覧無料※ の様に、読める形の文字列に変換されます。 こうした形で意図的にエンコード(?)された文字列をPHPを使ってデコードするにはどうしたら良いのでしょうか? メールクライアントのOutlook Express6等でも読めるので、一定の法則に則って変換されていると思うのですが、そのアルゴリズム(?)が判りません。 PHPのマニュアルを調べてデコード系の関数を色々と試してみましたが、どうにも上手く行きません。 前述の「MBaker2」のヘルプから、HTML特有の制御文字列と漢字コードが関係している所までは判ったのですが、ココで壁にぶつかってしまいました。 PHPで人が読める形にPHPで処理するにはどうしたら良いのでしょうか? 宜しくお願いします。 P.S PHPのバージョンは 5.2.6 を使い、PHPでの入出力は、UTF-8で統一しています。

    • ベストアンサー
    • PHP
  • ステータスバーに文字を流したいんです。

    標題のとおりなんですが、↓のとおりでよろしいのでしょうか?今のところブログ上で文字が流れません。 ちなみにブログは「カフェスタ」です。 全くの素人であるため、どなたかご教授いただけましたらよろしくお願いします。 ソースはhttp://siriasu.s10.xrea.com/71t/javascript/js01.htmからひっぱってきました。 では、問題部分です↓ <head> <xxscript LANGUAGE="Javaxxscript"> <!-- var spead = 300// var m1="流したい言葉1" var m2="流したい言葉2" var m3="流したい言葉3" var msg=m1+m2+m3// msg=msg+msg function statusMsg(){ setTimeout("statusMsg()",spead); msg=msg.substring(2,msg.length)+msg.substring(0,2); window.status=msg } statusMsg() //--> </xxscript> </head> こうやってみたんですが、文字が流れないんですよね^^;

  • PHP+JSのメールフォームで、選択肢によって送信先を変更かつ別のプル

    PHP+JSのメールフォームで、選択肢によって送信先を変更かつ別のプルダウンの項目を変更 はじめまして。今までレンタルのPerlCGIしか使ったことがないのですが、PHPでメールフォームを設置することになりました。ここ(http://www.office-kzm.com/7000/7100/)を参考に、シンプルなメールフォームはできたのですが、以下のことがうまくできません。 ・プルダウンAとBは連動している(Aの選択肢によってBの値が変わる) ・プルダウンAの選択肢により、メールの送信先が変わる(Bは送信先には関与しない) ・プルダウンや、ラジオボタンの値を、確認画面から戻った際に保持しておく AとBの連動だけならJavaScriptを使ってできるのですが・・・ 送信先は検索してもその仕様のプログラムの紹介ばかりで困っています。 どなたかやり方をご教授願います。

    • 締切済み
    • PHP
  • 互いに素なら積とも素であるの証明

    以下でm1というのはmに添え字の(小さな)1をつけたものという意味です。 問題 m1,m2,m3を自然数とし、m1,m2とm1,m3はそれぞれ互いに素とする。このとき、m1,m2m3(m2とm3の積)もまた互いに素である。 代数学の入門書を読んでいてこの問題に当たりました。 教えて!gooを検索して、素因数分解の一意性定理で簡単に証明できることがわかりました。(質問番号: 3913988) どうもありがとうございました。 ところで、それ以前から別の証明を考えていました。 【定理】 自然数m,nの最大公約数をdとすると、d=am+bn を満足する整数a,bが存在する。 を使って、 1=a1m1+b1m2, 1=a2m1+b2m3 という式を立てました。 この二つの式を掛け合わせて、1=a3m1+b3m2m3 の形を導きたいのですが、私にはできませんでした。上の式を導くにはどうしたらいいでしょうか? よろしくお願いいたします。