私のワードプレス サイトには小さなメール システムがあり、人々は PHP で生成されたコンテンツをメールで送信してくれます。基本的に、コンテンツは div 内で生成され、小さな JavaScript を介して div コンテンツがメールで送信されます。主な問題に焦点を当てるために、それがどのように生成されるかの部分をスキップしています。これがイラストです。
<div id="article" style="display:none">
// some content are generated here via php
</div>
<div id="visitor">
<input type="text" id="name" name="name" maxlength="60"/>
</div>
<input type="submit" value="submit" id="button" onClick="handleFormSubmit()">
<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://xxxxxxxxxxxxxxx/processForm.php',
data:{'message':$('#article').html(),'client': $('#visitor').html() },
success:function(data) {
alert('You data has been successfully e-mailed');
}
});
});
});
</script>
最初の div-id「aricle」ブロックに注意してください。これにはメイン コンテンツが含まれており、これでうまくいきました。最初のブロックのすぐ下にある 2 番目の div-id「訪問者」ブロックに注目してください。私はその入力を得ることができませんでした。通常の形式のテキスト入力として取得したいと思います。
<form></form>
入力を取得できないのは、タグがないためだと思います。しかし、その後、主要部分が機能しているので、何とかそれと一緒に機能する必要があります。解決策または両方のデータを取得するための最良の方法を提案するのは皆さん次第です。私は少しのPHPに精通していますが、JavaScriptにはまったく精通していません。
これが processForm.php の内容です。これらはすべて、ウェブ上のいくつかの記事から学んだことによってまとめられました。よろしくお願いします。
$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);