从常规表单输入中获取数据以及div中的内容

时间:2013-10-22 17:23:13

标签: javascript php html-email

我的wordpress网站上有一个小小的电子邮件系统,人们通过电子邮件向我提交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”块,它包含main   内容,我一直很好现在注意第二个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);

1 个答案:

答案 0 :(得分: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(),如下所示: $('#visitor')。html()=给出id =“visitor”div的内部HTML内容,这是一个文本框,我确信你对任何用户输入到该文本框中的值感兴趣

$('#name')。val()=为您提供id =“name”的文本框的值

我希望上述内容可以帮助您获得理想的结果并进行解释。