2013-11-01 5 views
0

Допустим, у меня есть эта форму внутри диалогаПроводка формы внутри диалога с сервером с помощью JQuery

<div id = "add-users"> 
    <form> 
     <input type="checkbox" value="1">Jim<br> 
     <input type="checkbox" value="2">Will 
     <input type="submit" value="Add"> 
    </form> 
</div> 

При нажатии кнопки передачи, можно размещать форму с помощью Ajax? Я не хочу, чтобы вся страница публиковалась, просто диалог.

Спасибо за помощь

ответ

1

Несомненно. Дайте идентификатор кнопке отправки, чтобы мы могли использовать это для выбора jQuery позже.

<input type="submit" id="ajaxSubmit" value="Add"> 

Сейчас в JavaScript, прослушивайте отправить кнопку мыши и получить форму и сериализовать его и отправить его в метод действия.

$(function(){ 

    $("#ajaxSubmit").click(function(e){ 
     var _this=$(this); 
     e.preventDefault(); 
     var _form=_this.closest("form"); 
     $.post("@Url.Action("Create","User")",_form.seriazlize(),function(result){ 
      //do something with the result 
     }); 
    }); 

}); 

Предполагая, что ваш параметр метода действия хорош для получения сериализованной формы.

+0

Может у дать пример хорошего метода кандидата, который получил бы сериализированную форму? Это не сработает. – Richard77

1

Вы можете Сериализовать свою форму и отправить ее на контроллер с помощью AJAX.

Просмотр файлов **

$("button").on("click", function() { 
var myform = $('form'); 
var fd = myform.serialize(); 
$.ajax({ type: 'POST', 
     url: '@Url.Content("~/Controller/Action")', 
     data: fd }); 
+0

Единственная проблема заключается в том, что на представлении уже есть другая форма. Возможно, jQuery будет смущен – Richard77

+0

, вы можете определить ID для формы. И чем вы меняете $ ('form') на $ ('# formid') –