これはワードプレスで構築されたサイトに関連しています。"content-div"
特定の div の一部のコンテンツが ajax submit を介してメールで送信される小さなシステムがあります。<form>
以下のコードでわかるように、タグを使用していないことに注意してください。残りの部分は非常に簡単です。
HTML : コンテンツは div 内で生成され、 経由で送信されinput-type=submit
ます。
<div id="content-div">
//php generated content
</div>
<input type="submit" value="SUBMIT-CONTENT" id="button" onClick="handleFormSubmit()">
AJAX - 送信とリダイレクトは、このコードを介して行われます。
<script language="javascript" type="text/javascript">
function handleFormSubmit()
{
var button = document.getElementById('button');
button.style.display = 'none';
}
</script>
<script type="text/javascript">
jQuery(document).ready(function($)
{
$('#button').click(function(){
$.ajax({
type: 'POST',
url: 'http://awesomeness.com/pathto/processForm.php',
data:{'message':$('#content-div').html(),'client': $('#some-field').val() },
success:function(data) {
window.location = "http://awesomeness.com/thanks/";
}
});
});
});
</script>
ProcessForm.php には、基本的な HTML メール コードが含まれているだけです。これは次のようになります。
$to = "emailto@awesomepeople.com";
$subject = "NEW ARTICLE";
$message .= $_POST['message'];
$client = $_POST ['client'];
$headers = "From: awesomesite <someone@website.com>" . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
これはすべて正常に実行されます。ここで、訪問者が「SUBMIT-CONTENT」ボタンを押したときに実行する必要がある別の php 関数があります。この機能はリンクとして提供されます。
<a class='wpfp-link' href='?wpfpaction=reset' rel='nofollow'>RESET</a>
通常、このリンクをクリックすると、基本的にブラウザのキャッシュをクリアし、メインの「content-div」をリセットする機能がトリガーされます。ページにこの機能のリンクは必要ないことに注意してください。送信時に何らかの形で実行する機能が必要なだけです。基本的に、訪問者が「SUBMIT-CONTENT」をクリックすると、「RESET」リンクがクリックされたかのように、リンク内の機能が実行されます。これは、送信が成功したときに発生する可能性があり、フォームは通常のルーチンである必要があります。processForm.php に送信し、リダイレクトなどを行います。私が求めていることが可能であることを願っています。もしそうなら、どのように?よろしくお願いします。