我有这行代码
$('#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))
答案 0 :(得分:1)
如果数据已返回加载到您的元素中,您仍然可以使用.load()
获取数据,例如:
$('#reviews').load('findemail.php',
{id: this.id, tabla: $(this).attr("rel")},
function() {
var email = $(this).find(".email").val();
});
这个概念很简单,如果它在响应中,它已经加载到你的#reviews
元素的HTML中,所以只需从它所在的任何地方抓取它。