2011-08-19 65 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

相關問題