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

Javascript 从常规表单输入以及div中的内容获取数据,javascript,php,html-email,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

我的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>

//这里通过php生成一些内容
函数handleFormSubmit(){
var button=document.getElementById('button');
button.style.display='none';
}
jQuery(文档).ready(函数($){
$(“#按钮”)。单击(函数(){
$.ajax({
键入:“POST”,
网址:'http://xxxxxxxxxxxxxxx/processForm.php',
数据:{'message':$('#article').html(),'client':$('#visitor').html(),
成功:功能(数据){
警报(“您的数据已成功通过电子邮件发送”);
}           
});
});
});
请注意第一个div id“aricle”块,它包含 内容,我现在已经很好了,请注意第二个div id 第一个街区正下方的“访客”街区。我没能做到 获取那个的输入。我更喜欢将其作为常规表单文本输入

我想我无法获取输入的原因是因为我没有任何
标记。但是,主要部分是工作,所以我只需要它与它一起工作。我让你们给我建议一个解决方案或一个获取这两个数据的最佳方法。我熟悉一点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);
$to=”emailto@awesomepeople.com";
$subject=“新文章”;
$message.=$_POST['message'];
$client=$_POST['client'];
$headers=“From:awesomesite”。“\r\n”;
$headers.=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=ISO-8859-1\r\n”;
邮件($to、$subject、$message、$headers);

我只是分享下面的代码,以获取所提供的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>

jQuery(文档).ready(函数($){
$(“#按钮”)。单击(函数(){
$.ajax({
键入:“POST”,
网址:'http://xxxxxxxxxxxxxxx/processForm.php“,
数据:
{
‘message’:$(‘article’).html(),
‘client’:$(‘name’).val(),
成功:函数(数据)
{
警报(“您的数据已成功通过电子邮件发送”);


);
});
我已将脚本中的$('#visitor').html()替换为$('#name').val(),如下所示: $('#visitor').html()=给出id=“visitor”的div的内部html内容,该div是一个文本框,我相信您对任何用户在该文本框中输入的值都感兴趣

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


我希望以上内容能够帮助您获得所需的解释结果。

因此我不需要添加
标记,对吗?也请允许我几分钟来测试一下。谢谢。是的,你不需要添加标签,直到你需要获取很多表单属性。在您的例子中,访问只需要一个文本框值&这可以通过(“#name”).val()实现。您好,我仍然没有得到字段的值。你确定我的电子邮件php块是alrite吗?还有什么问题吗?$to=”emailto@awesomepeople.com"; $主题=“新文章”$message.=$\u POST['message']$message.=$\u POST['client']$headers=“From:awesomesite”。“\r\n”$标题。=“MIME版本:1.0\r\n”$标题。=“内容类型:text/html;字符集=ISO-8859-1\r\n”;邮件($to、$subject、$message、$headers);在发送电子邮件时使用上述代码。。。正如您声明的$client=$\u POST['client'],并且$client变量没有在任何地方与$message变量连接。这就是为什么我只使用了一个$message变量&在所有地方都使用它来获取所有的值,并且应该以这种理想的方式使用它。