2016-07-11 13 views
0

javascript文字列を呼び出すときにphpファイルに送信する必要があります。私はサーバー側とクライアント側の関係を認識していますが、私はこのケースが少し異なると推測しています。 このウェブサイトの目的は、ユーザーがINPUTタグ(その多く)に値を挿入し、PHPmailerを介して電子メールで送信することです。問題は、空白の入力を送信したくないということです。電子メールの値の前に「ラベル」を表示したいのです。私が考えた最良の回避策は、JS Stringに必要なものすべてを挿入して、ユーザーがフォームを送信するときにphpmailerがピックアップする方法でした。PHPmailerにjavascript文字列を送信

申し訳ありませんが、長い話題ですが、私よりも優れた解決策があると思われる場合は、話してください。

とにかく、ここに問題のコードがあります。

var str = "This is a String variable"; 
function redirect(){ 
    window.location.href = "mailer.php?values=" + str; 
} 

私はその変数を取得したい場合は:私の周り見てきた、私が(私がテストされ、正常に動作します)これと同様の機能を通じて、この変数を送信することができると思わ

<form name="contactform" method="post" action="mailer.php"> 

フォームのACTION属性によって送信されます($ _POSTでいくつかの変数を取得したい場合は、送信ボタンが必要です)。どうすればいいですか?ちょうどあなたがそれを視覚化するのに役立つ

は、ここでは、多かれ少なかれ、私が欲しいものです:すべての答えや提案を事前に

<form name="contactform" method="post" action="mailer.php$values"+str> 

感謝。

@edit:私が基本的に尋ねることは、PHPのページにアクセスする前に、SUBMITボタンのACTIONを変更する方法です。

送信前にこの文字列の編集を終了することができます。または、入力がフォーカスを失うたびに書き直すことができますが、何か変更が最適なオプションになるたびに100文字+オブジェクトの配列を含むこのStringを書き直すとは思いません。

+1

なぜ非表示フィールドを使用しないのですか?ポストの前に隠しフィールドの値を更新し、ポストの後にPHPで取得します。 –

+0

値を中間の処理/確認ページに送り、処理した/確認した値を 'mailer.php'に送ります。 – Rounin

+0

@devlincarnateありがとう!それはまさに私があなたとDminonesの助けを借りて使ったものです。 – PedroGallon

答えて

0

コメントで指摘したように、これを行う最善の方法は、javascript経由でフォームに隠しファイルを配置することです。

var input = document.createElement("input"); 

input.setAttribute("type", "hidden"); 
input.setAttribute("name", "name_you_want"); 
input.setAttribute("value", "value_you_want"); 

//append to form element that you want . 
document.getElementById("contactform").appendChild(input); 

contactFormId

<form name="contactform" method="post" id="contactForm" action="mailer.php"> 

を追加し、これを行うことは$ POSTのVAR経由の値ではなく、あなたのフォームのポストを経由して送信されているので、ウィッヒは、より理にかなってゲットすることに注意してください。

+0

ありがとう!これはうまくいった。隠し型入力を満たすSubmitからonclick関数を呼び出しました。また、私はまだフォームから他の入力を得ることができます。これは、単に関数を呼び出すだけではできないPHPから直接得られます。 – PedroGallon

関連する問題