2011-08-19 71 views
10

我有以下函数从页面收集数据,将它们全部放入'数据'变量中,并将其附加到表单中,然后提交它。Chrome上的Jquery Form.submit()工作,但不在Firefox中

$(document).ready(function() { 
$('#content-tab .submit').click(function() { 
    var data = {champion: window.selectedChampion, runes: runes, masteries: masteries, items: items, skillingOrders: skillingOrders, chapters: chapters, title: $('#guide_title').val()}; 
      data = JSON.stringify(data); 
      $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)).submit(); 
    }); 
}); 

有上点击时触发此页面上的DIV:

<div class='button pointer submit'>Submit</div> 

一切都很好,在Chrome测试时。表单提交然后重定向到一个页面,就像计划一样。但在Firefox中进行测试(第5节和第6节)时,单击div无效。纳达。小人物。我不知道Firefox中出了什么问题?任何帮助将不胜感激。谢谢。

+0

'#content-tab .submit'选择器在firefox中选择任何东西。用'alert'($('#content-tab .submit')。size());' – russau

+0

@russau它返回一个'1',所以是的。 – druesome

回答

39

我会尝试在提交之前将表单添加到DOM。

$('#content-tab .submit').click(function() { 

    var data = { 
     champion: window.selectedChampion, 
     runes: runes, 
     masteries: masteries, 
     items: items, 
     skillingOrders: skillingOrders, 
     chapters: chapters, 
     title: $('#guide_title').val() 
    }; 
    data = JSON.stringify(data); 
    var $form = $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)); 
    $form.appendTo("body").submit(); 

}); 
+0

嗨karim79,对不起,在我的示例代码。上面的函数已经包含在$(document).ready(function(){xxx})中; – druesome

+0

@druesome - 我有最后一个想法,请参阅我的编辑。 – karim79

+0

哇,非常好。这一个做到了! – druesome

相关问题