2015-04-04 69 views
0

我正在開發MVC.NET中的項目5.在這個項目中,我有一個表格,裏面有一些複選框。我想將這些複選框值發送到服務器,我沒有表單元素。但我用jQuery創建了一個表單元素。這裏是表單創建代碼:Mozilla中的表單創建問題FireFox

$("#setNewRoles").click(function (evt) { 
     evt.preventDefault();   
     var checkbox = $(".checkbox:checked"); 
     var form = $("<form />").attr({ "action": "/Admin/Account/AddnewRolesForUser", "method": "post" }); 
     alert(form); 
     for(var i=0;i<checkbox.length;i++){ 
      if ($(checkbox[i]).attr("disabled") != "disabled") {    
       $(form).append("<input type='checkbox' name='rolesValue[]' value='" + $(checkbox[i]).val() + "' checked />"); 
      } 
     } 
     $(form).submit(); 
    }); 

此代碼在Chrome中正常工作,但它不適用於Mozilla。代碼有什麼問題?

+1

我建議你應該用'包試試()'和'展開()'jQuery的方法臨時表格提交。例如:'$('input:checkbox')。wrap('

');' – 2015-04-04 07:26:06

+0

沒有任何改變。換行也不適用於Chrome。 – 2015-04-04 07:36:58

+1

[Fiddle](http://jsfiddle.net/dtrp9svf/1/)。檢查這個。 – 2015-04-04 07:37:44

回答

0

,我發現它的一些測試,

我們可以更換上面的代碼與此代碼:

$("#setNewRoles").click(function (evt) {  
     evt.preventDefault();   
     var checkbox = $(".checkbox:checked"); 
     var form = $("<form />").attr({ "action": "/Admin/Account/AddnewRolesForUser", "method": "post", "id": "setRolesForUserForm", "style": "visibility: hidden;" });   
     for(var i=0;i<checkbox.length;i++){ 
      if ($(checkbox[i]).attr("disabled") != "disabled") {    
       $(form).append("<input type='checkbox' name='rolesValue[]' value='" + $(checkbox[i]).val() + "' checked />"); 
      } 
     } 
     $('body').append(form); 
     $('#setRolesForUserForm').submit(); 
    });