将数据传递给FORM并自动提交

时间:2011-06-27 13:28:47

标签: javascript jquery facebook

我想要的是一个JQuery / JavaScript代码,它会自动将一些数据从facebook传递到一个表单(基本上不需要显示表单)。所以第一部分准备就绪(从facebook中提取数据的部分)。

      window.fbAsyncInit = function() {
  FB.init({appId: 'xxxxxxxxxxxxxxx', status: true, cookie: true, xfbml: true});
      };
    FB.Event.subscribe('auth.login', function(response) {
         if (response.session) {
         FB.api({
         method: "fql.query",
         query: "SELECT name,email FROM user WHERE uid = " + response.session.uid
            }

现在我需要将名称和电子邮件插入到名称=“name”和name =“email”的输入中,然后自动提交表单。

提前致谢!

编辑:这是表格:

<form method="post" class="af-form-wrapper" action="http://www.aweber.com/scripts/addlead.pl"  >

<input type="hidden" name="meta_web_form_id" value="XXXXXXXX" />
<input type="hidden" name="listname" value="XXXXXX" />
<input type="hidden" name="meta_adtracking" value="XXXX" />
<input type="hidden" name="meta_message" value="1" />

<input id="awf_field-22176678" type="text" name="name" class="text" value=""  tabindex="500" />

<input class="text" id="awf_field-22176679" type="text" name="email" value="" tabindex="501"  />

<input name="submit" class="submit" type="submit" value="Submit" tabindex="502" />
<div class="af-clear">

</form>

编辑2:我需要用jQuery简化这样的事情:

        <?php
        $formcode = '<form method="post" action="http://www.aweber.com/scripts/addlead.pl"  >

<input type="hidden" name="meta_web_form_id" value="864136470" />
<input type="hidden" name="listname" value="fbu-ppv-mmoney1" />
<input type="hidden" name="meta_adtracking" value="FB_Ultralizer_PPV" />
<input type="hidden" name="meta_message" value="1" />

<input id="awf_field-22176678" type="text" name="name" class="text" value=""  tabindex="500" />

<input class="text" id="awf_field-22176679" type="text" name="email" value="" tabindex="501"  />

<input name="submit" class="submit" type="submit" value="Submit" tabindex="502" />

</form>
'; ?>
<script type="text/javascript">
                                                customar_formcode="$formcode";
                                                customar_formcode=customar_formcode.replace("{email}", user.email);
                                                customar_formcode=customar_formcode.replace("{name}", user.name);
                                                document.getElementById(\'form\').submit();
</script>

2 个答案:

答案 0 :(得分:1)

使用Jquery的POST发送数据,而无需表单的标记并使用自动提交:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

修改 如果您已经在DOM中设置了表单,则应该使用JavaScript填写它并使用JavaScript提交

要更改输入值,请使用Jquery,如下所示:

$('input[name$="name"]').val('value');

将所有输入设置为您希望的方式后,您可以使用this提交表单:

如果您的表单上有ID表单,那么您可以使用

之类的代码
$('#form').submit();

希望这有帮助

答案 1 :(得分:0)

使用jquery,您可以使用以下内容一次传递表单的所有数据: var data = $(#formID).serialize();