JQUERY加载vs get

时间:2010-12-14 10:28:48

标签: jquery load get

我有这行代码

$('#findemail').load('findemail.php', {id: this.id, tabla: $(this).attr("rel")});

加载锚点div中的数据。然而,事实证明我需要利用这些数据,即它显示一个电子邮件地址,我需要“抓住”该电子邮件地址,并通过“隐藏提交”从网络表单发送到邮件处理脚本。上面的这一行是发送一个SQL查询使用的两个参数,即ID和tablename,它以$ destination_email

的形式选择我想要使用的电子邮件。

有人告诉我,为了做到这一点,我只需要使用“获取”而不是“加载”,如下所示,但总结一下,我有点迟钝,我有一个小时的“体验”与JQUERY我不知道如何从该代码中受益。我的webform在同一页面下面有几百行,所以我不知道如何完全完成那个JQUERY代码,以便我可以从我的HTML表单中获取它以转发它,正如我所说。拜托,如果你想帮忙不要给我一个提示,我仍然不知道JQUERY的语法,尽管我正努力学习尽可能多的东西。无论如何,代码几乎已经完成了。

完整代码如下。第一行负载正常,它填充了一个div盒子,这就是我需要的。但正如我所解释的那样,第二行以变量的形式提取电子邮件地址,我需要使用它,这就是为什么它使用“get”

<script type="text/javascript"> 
$(document).ready(function(){
$('a.flip').live('click',function(){
    $(".panel").slideToggle("slow");


$('#reviews').load('SendIdToDatabase.php', {id: this.id, tabla: $(this).attr("rel")});



$.get('findemail.php', {id: 'findemail', tabla: $('#findemail').attr('rel')}, function(data) {
      // data contains the response
}); 



  });
});

</script>

更新至99,99%已完成代码

这就是我所拥有的。对我来说似乎很好,但是,嗯,仍然没有发送那封电子邮件

只有在虚线下方才有意思,其余的工作完美无缺。虚线下方是获取电子邮件的代码。它确实加载它完美,它显示它,就像在我的HTML表单的表面上硬编码为alvaro@mygmail.com但是可能有非常小的事情阻碍传递。

<script type="text/javascript"> 


$(document).ready(function(){
$('a.flip').live('click',function(){
    $(".panel").slideToggle("slow");


$('#reviews').load('SendIdToDatabase.php', {id: this.id, tabla: $(this).attr("rel")});
................................................................................


$('#findemail').load('findemail.php', 
                   {id: this.id, tabla: $(this).attr("rel")},
                   function() {
                     var email = $(this).find(".email").val();

                 });

          });


  });

</script>


<?php
echo '<div id ="findemail" class="email">';


echo '<input type="hidden" name = "country" class="email" value= "'.$destination_email.'"/>';

echo '</div>';
?>





<div id="form-submit"><input type="submit" id="submit-form" name="submit" value="Submit" /></div>
</form>

从尼克那里抓住这个想法

它也可能是SQL查询不仅仅发布了一封电子邮件,而且发布了整个电子邮件

echo '"<input type = "hidden" val=\"' .addslashes($aRow['email']) .'\" class=\"email\" .>"';

=============================================== ========================================

所以Brian和Nick提出的建议似乎有两种不同的解决方案:

NICKS

$('#findemail').load('findemail.php', 
                   {id: this.id, tabla: $(this).attr("rel")},
                   function() {
                     var email = $(this).find(".email").val();

然后这个:

<?php
echo '<div id ="findemail" class="email">';


echo '<input type="hidden" name = "country" class="email" value= "'.$destination_email.'"/>';

echo '</div>';
?>

然后是英国人:

var email = $('#reviews').html(); // this to grab the email

以下嵌入我的网络表格

但是,语法是否正确?哪里是<input>?

的开头
$('#my-form').append($('<input/>').attr('type', 'hidden').val(email))

1 个答案:

答案 0 :(得分:1)

如果数据已返回加载到您的元素中,您仍然可以使用.load()获取数据,例如:

$('#reviews').load('findemail.php', 
                   {id: this.id, tabla: $(this).attr("rel")},
                   function() {
                     var email = $(this).find(".email").val();
                   });

这个概念很简单,如果它在响应中,它已经加载到你的#reviews元素的HTML中,所以只需从它所在的任何地方抓取它。

相关问题