0

新来的很高兴,我从这个论坛得到了很多答案。然而,我现在被困住了。

我有一些 javascript 正在创建窗口颜色和句柄选择器(单击颜色样本会更改图像,单击句柄,它会执行相同的操作)。图像下方是所选窗口的描述。该文本是由 javascript 通过拉取图像标题生成的。

现在有趣的部分。在此选择器下方,我需要添加一个将使用 php 通过电子邮件发送的表单。在该电子邮件中,我需要提取由 javascript 生成的窗口描述。

我今天尝试了很多东西,我都数不清了。我尝试的最后一段代码是

<script>
$(document).ready(function() {

   $("windowDesc").each(function() {
       var html = jQuery(this).html();
   });

});
</script>

在我添加的 php 邮件文件中:

$windowtitle = $_GET['html'];

以及尝试

$windowtitle = $_POST['html'];

我还尝试了以下方法:

<script>
    var content = $('#windowDesc').html();
    $.ajax({
            url: 'send_mail.php',
            type: 'POST',
            data: {
                    content: content
            }
    });
</script>

在我添加的 php 邮件文件中:

$windowtitle = $_GET['content'];

以及尝试

$windowtitle = $_POST['content'];

更不用说其他很多事情了。

基本上我想要做的是获取包含生成文本的 div 的内容并通过电子邮件发送它。如果以上任何一项都是正确的,那么我一定是把它们放在了错误的位置或什么地方。对于第一个,我在表单内、表单外、div 之前、div 之后都尝试过。只是还没有在我的头顶上尝试过。这是漫长的一天,提前谢谢:o)

抱歉耽搁了,这两天很忙。好的,下面是处理窗口颜色和句柄选择器的代码:

var Color = "color";
var Handle = "handledescription";
var ColorDesc = "color";
var HandleDesc = "handle description"
function Window(Color,Handle,ColorDesc,HandleDesc) {
    $('#windowPic').animate({opacity: 0}, 250, function () {
        thePicSrc = "http://www.site.com/images/windows/" + Color + Handle + ".jpg";
        $('#windowPic').attr('src', thePicSrc);
        $('#windowDesc').html("<p>" + ColorDesc + " frame with " + HandleDesc + " hardware</p>");
        $('#windowPic').animate({opacity: 1}, 250)
    })
}
$(document).ready(function() {
    $('#wColors li').click( function() {
        Color = $(this).attr('id');
        ColorDesc = $(this).attr('title');
        Window(Color,Handle,ColorDesc,HandleDesc);
    });
    $('#wHandles li').click( function() {
        Handle = $(this).attr('id');
        HandleDesc = $(this).attr('title');
        Window(Color,Handle,ColorDesc,HandleDesc);
    });
});
4

2 回答 2

0

您需要在表单中隐藏输入:

<form id="send_email" action="send_email.php">
  <input id="content" type="hidden" name="content"/>
  ... other inputs here
</form>

然后可以在提交前使用Javascript来填写:

$("#send_email").submit(function() {
    $("#content").val($("#windowDesc").html());
}
于 2013-03-01T16:57:32.613 回答
0
<script>
    var content = $('#windowDesc').html();
    $.ajax({
            url: 'send_mail.php',
            type: 'POST',
            data: content
    });
</script>

它在这里工作。

于 2013-02-25T19:30:39.053 回答