0

私のワードプレス サイトには小さなメール システムがあり、人々は 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);
4

1 に答える 1

1

以下のコードを共有して、提供された div id = "visitor" で必要なテキストボックスの値を取得しています。希望する結果を得るのに役立つことを願っています:

<script type="text/javascript">
     jQuery(document).ready(function($) {<br/>

         $('#button').click(function(){<br/>

         $.ajax({<br/>
         type: 'POST',<br/>
         url: 'http://xxxxxxxxxxxxxxx/processForm.php',<br/>
         data:<br/>{<br/>'message':$('#article').html(),<br/>'client': $('#name').val() <br/>},<br/>
                success:function(data) <br/>{<br/>
                alert('You data has been successfully e-mailed');
<br/>                      }           
     <br/>             });
          <br/>     });<br/>
           });<br/>
 </script>

以下に説明があるので、スクリプトで $('#visitor').html() を $('#name').val() に置き換えました。テキスト ボックスである id = "visitor" の div の内部 HTML コンテンツと、ユーザーがそのテキスト ボックスに入力した値に関心があると確信しています。

$('#name').val() = id = "name" のテキスト ボックスの値を返します

上記の説明が、目的の結果を得るのに役立つことを願っています。

于 2013-10-22T17:56:01.560 に答える