Lucas K 0 Denunciar post Postado Maio 24, 2013 Boa tarde galera , estou com o seguinte problema: Quero dar um submit em um formulario porem o botão de submit está forma do formulario, portanto faria o submit com javascript. este é o meu Form : using (Ajax.BeginForm("Concluir","Ocorrencia",null, new AjaxOptions { OnSuccess = "OnSuccess", OnFailure = "OnFailure" }, new { @id = "formConcluir" } )) { Html.EditorFor(m => m.IdStatusOcorrencia, new { id = 3}); } e este é o helper que eu uso para gerar o botao com javascript para submeter formularios: public static MvcHtmlString FormSimpleSubmit(this HtmlHelper htmlHelper,string linkText,string idForm, string cssClassButton = "") { StringBuilder sb = new StringBuilder(); sb.AppendFormat("<button OnClick='SubmitFormId{0}()' class='{1}'>{2}</button>",idForm,cssClassButton,linkText); sb.Append("<script>"); sb.AppendFormat("function SubmitFormId{0}()",idForm); sb.Append("{"); sb.AppendFormat("$('#{0}').submit();", idForm); sb.Append("}"); sb.Append("</script>"); return MvcHtmlString.Create(sb.ToString()); } a principio o botao e o script do formulario gera certinho, é feita a requisicao ajax porém na action do meu controller nao acontece nada, parei com o debug lá e nada. esse é o form gerado pelo ajax.beginform <form id="formConcluir" method="post" data-ajax-success="OnSuccess" data-ajax-failure="OnFailure" data-ajax="true" action="/caf/Ocorrencia/Concluir"></form> Estava testando aqui, e o form desta maneira da errado: @model CafData.Ocorrencia @using(Ajax.BeginForm("Concluir","Ocorrencia", new { id = Model.IdOcorrencia }, new AjaxOptions { OnSuccess = "OnSuccess", OnFailure = "OnFailure", HttpMethod = "POST" })) { <button class="k-button">Concluír</button> } mas se eu tiro o Using o post funciona: @model CafData.Ocorrencia @Ajax.BeginForm("Concluir","Ocorrencia", new { id = Model.IdOcorrencia }, new AjaxOptions { OnSuccess = "OnSuccess", OnFailure = "OnFailure", HttpMethod = "POST" }) { <button class="k-button">Concluír</button> } alguem sabe pq? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas K 0 Denunciar post Postado Maio 24, 2013 Galera encontrei mais ou menos o problema só que não consegui resolver ainda Desta forma sem o using o post ocorre normalmente no meu controller @Ajax.BeginForm("Concluir", "Ocorrencia", new { id = Model.IdOcorrencia }, new AjaxOptions { HttpMethod = "POST"})) { <input type="submit" class="k-button" value="Concluír" /> } Porem junto com o meu botao de submit gera uma saida de texto conforme a linha abaixo System.Web.Mvc.Html.MvcForm) { } Mas se eu coloco o using o post nao ocorre de jeito nenhum no meu controller, mas gera o botao de submit certinho na tela @using (Ajax.BeginForm("Concluir", "Ocorrencia", new { id = Model.IdOcorrencia }, new AjaxOptions { HttpMethod = "POST"})) { <input type="submit" class="k-button" value="Concluír" /> } Alguem ja passou por esse problema? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas K 0 Denunciar post Postado Maio 24, 2013 tentei com Ajax.actionlink tb e da o mesmo erro que ocorre no caso do using(ajax.beginform()), exibe o link certinho mas não da o POST, detalhe que esqueci de comentar antes, ele não da o post e no console do firebug da o seguinte erro "NetworkError: 500 Internal Server Error - http://localhost/caf/Ocorrencia/Concluir/40" essa é a minha Ajax.ActionLink() @Ajax.ActionLink("Concluir","Concluir","Ocorrencia",new {id = Model.IdOcorrencia},new AjaxOptions { HttpMethod = "POST"}) Alguma ideia? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Maio 27, 2013 Network error significa que o seu servidor está com problemas, talvez erros de conexão. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 27, 2013 Já colocou um debug neste controller? Esta passando pelo controller? http://localhost/caf/Ocorrencia/Concluir/40Abraços... Compartilhar este post Link para o post Compartilhar em outros sites