none
action link com javascript RRS feed

  • Pergunta

  • eae gente estou com uma dificuldade em relação de como usar uma função em javascript com actionLink..
    aqui esta o codigo .. mas nao esta funcionando =s

         grid.Column(format: (@item) => Html.ActionLink("Editar", "Editar", new { id = item.Id} , new { id ="teste"})),

        $("#teste").click(function () {
             $.ajax({
    
    
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 }
             });
         });
    estou tentando puxar uma partial view de uma partial view ... 
    ex:
    eu tenho uma partial view e eu queria q quando ele edita-se o json carregava a tela de edição no lugar que esta a partial view da grid..
    muito obrigado :D

    segunda-feira, 21 de janeiro de 2013 11:50

Todas as Respostas

  • a tela de edição tb é uma partial view .. 
    segunda-feira, 21 de janeiro de 2013 11:53
  • O que exatamente não está funcionando?

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 11:59
  • O que exatamente não está funcionando?

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    não esta puxando a partial view dentro da div .. quando eu clico em editar ja manda pra outra tela ... ela n puxa o javascript... 
    eu queria q quando ele clica-se em editar era pra abrir a tela de edição dentro da div .. ..  =s
    segunda-feira, 21 de janeiro de 2013 12:02
  • Você precisa usar 'return false' no final do código, caso contrário, o click do link irá entrar em na página.

     $("#teste").click(function () {
             $.ajax({
    
    
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 }
             });
    
             return false;
         });


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 12:04
  • Você precisa usar 'return false' no final do código, caso contrário, o click do link irá entrar em na página.

     $("#teste").click(function () {
             $.ajax({
    
    
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 }
             });
    
             return false;
         });


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    não funcionou =s
    segunda-feira, 21 de janeiro de 2013 12:14
  • Sua action não possui parametros?

    No código que você passou, você não está passando parametros para a action..

    faz o seguinte, implementa o método error para ver o que está acontecendo:

    $("#teste").click(function () {
             $.ajax({
    
    
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 },
                 error:function (xhr) {
                      alert(xhr.responseText);
                 }
             });
    
             return false;
         });


    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze segunda-feira, 21 de janeiro de 2013 13:41
    segunda-feira, 21 de janeiro de 2013 12:17
  • Sua action não possui parametros?

    No código que você passou, você não está passando parametros para a action..

    faz o seguinte, implementando o método error para ver o que está acontecendo:

    $("#teste").click(function () {
             $.ajax({
    
    
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 },
                 error:function (xhr) {
                      alert(xhr.responseText);
                 }
             });
    
             return false;
         });


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    cara .. nem o erro apareceu .. só abriu a outra pagina .. =s
    ele ta puxando a view antes do javascript =S
    segunda-feira, 21 de janeiro de 2013 12:30
  • Seu script precisa estar abaixo do html.. ou você precisa estar usando algo que retarde o carregando dele como por exemplo:

    window.onload = function(){ }
    ou
    $(function(){ });



    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 12:35
  • Seu script precisa estar abaixo do html.. ou você precisa estar usando algo que retarde o carregando dele como por exemplo:

    window.onload = function(){ }
    ou
    $(function(){ });



    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    mas isso aqui ja não faz isso ?? ^.-     :
    $("#teste").click(function () {

    segunda-feira, 21 de janeiro de 2013 12:40
  • Não, ele só vai funcionar se o browser já tiver carregado o elemento.

    Experiment fazer isso:

    $(function(){
       //seu código
    });
    assim você retarda o carregamento do script até a página estar totalmente carregada no browser.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 12:42
  • Não, ele só vai funcionar se o browser já tiver carregado o elemento.

    Experiment fazer isso:

    $(function(){
       //seu código
    });
    assim você retarda o carregamento do script até a página estar totalmente carregada no browser.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    funcionou .. mas ele ja carrega a pagina de edição assim q eu abro a grid ... como q eu jogaria a função que carrega a tela de edição no botao editar da grid ? ^.-
    segunda-feira, 21 de janeiro de 2013 12:48
  • Você colocou todo o código dentro?

    $(function(){
         $("#teste").click(function () {
             $.ajax({
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 },
                 error:function (xhr) {
                      alert(xhr.responseText);
                 }
             });
    
             return false;
         });
    });
    Isso deveria funcionar


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 12:52
  • Você colocou todo o código dentro?

    $(function(){
         $("#teste").click(function () {
             $.ajax({
                 url: "@Url.Action("Editar4", "Cadastros")",
                 type: 'GET',
                 dataType: 'html',
                 success: function (result) {
                     $('#aba1').html(result);
                 },
                 error:function (xhr) {
                      alert(xhr.responseText);
                 }
             });
    
             return false;
         });
    });
    Isso deveria funcionar


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    fiz isso .. porem voltoou a abrir a outra pagina .
    e tb não me voltou nenhum erro '-'
    segunda-feira, 21 de janeiro de 2013 13:01
  • alguem pode me ajudar??? D:
    segunda-feira, 21 de janeiro de 2013 16:23
  • Dá uma olhada no console do browser pra ver se ocorre algum erro quando você clica..

    Põe um alert() dentro da function para ver se entra no código.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 16:38
  • Dá uma olhada no console do browser pra ver se ocorre algum erro quando você clica..

    Põe um alert() dentro da function para ver se entra no código.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    não esta entrando na função : ~>
     $(function () {
             $("#teste").click(function () {
                 alert("entrou aqui!!!");
                 $.ajax({
    
    
                     url: "@Url.Action("Editar4", "Cadastros")",
                     type: 'GET',
                     dataType: 'html',
                     success: function (result) {
                         $('#edit').html(result);
                     },
                     error: function (xhr) {
                         alert(xhr.responseText);
                     }
                 });
                 return false;
             });
             
         });

    segunda-feira, 21 de janeiro de 2013 16:47
  • E no console do browser o que aparece?

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 16:54
  • E no console do browser o que aparece?

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    dps q carregou a pagina abri o console ai cliquei no link ... nao apareceu nada no console =s
    segunda-feira, 21 de janeiro de 2013 17:02
  • E no console do browser o que aparece?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    dps q carregou a pagina abri o console ai cliquei no link ... nao apareceu nada no console =s
    Seu código (Javascript) ta no mesmo arquivo que a sua PartialView ? Se não estiver, vc esta lembrando de referencia-lo na sua PartialView ?
    segunda-feira, 21 de janeiro de 2013 17:05
  • E no console do browser o que aparece?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    dps q carregou a pagina abri o console ai cliquei no link ... nao apareceu nada no console =s

    Seu código (Javascript) ta no mesmo arquivo que a sua PartialView ? Se não estiver, vc esta lembrando de referencia-lo na sua PartialView ?

    =ss entendi o pq disso ... 
    como q eu faço pra pega o action link e fazer dele um link q tem a mesma função do type button ? :x
    ta mandando pra outra pagina pq ele puxa o json carrega e o action link envia ... 

    grid.Column(format: (@item) => Html.ActionLink("Editar", "Editar4", new { id = item.Id} , new { id ="teste"})),

    como q faço isso só puxar a função do javascript e pega o id do campo igual faz acima ... ? /\ 

    segunda-feira, 21 de janeiro de 2013 17:19
  • java script é uma droga com isso, se ele não carregou a coisa não funciona e se tem dependencias a coisa piora ainda mais.

    Eu prefiro chamar num reader todos eles de forma organizada, ae vocÊ evita esse tipo de problema a cada página...


    Aprendendo Ad Eternum Se minha resposta foi útil por favor marque, se minha resposta respondeu completamente sua dúvida, marque-a como resposta, se houve outra resposta melhor, marque ela. Assim facilita a busca e melhora a organização do fórum e o nosso aprendizado.

    segunda-feira, 21 de janeiro de 2013 17:25
  • Se você colocar o return false no final ai não aconteceria isso.. acho que o problema que você tem é outro pois seu código não estava nem exibindo o alert como deveria quando o link fosse clicado.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 21 de janeiro de 2013 17:27
  • Se você colocar o return false no final ai não aconteceria isso.. acho que o problema que você tem é outro pois seu código não estava nem exibindo o alert como deveria quando o link fosse clicado.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    mas como q eu faço pra anula a ação do actionLink?? e pego só o click dele .. uahsahusuhas só preciso do item.id q ele pega da grid e da ação click =s 

    entra deve ta entrando o problema é que entra e ja vai pra outra pagina =s
    segunda-feira, 21 de janeiro de 2013 17:47
  • acabei de descobrir uma coisa .. se a grid q ta o :
     grid.Column(format: (@item) => Html.ActionLink("Editar", "Editar4", new { id = item.Id} , new { id ="teste"})),

    tiver mostrando 1 registro só ... funciona normal .. entra no json e tudo mais ... puxa na div td certinho .. agora se eu acrescento mais um registro na grid... ele para de funciona e n entra no json e vai pra outra pagina ^.-
    wtf???
    auhsahushahushuas
    alguem sabe oq pode ser ? ^.-
    • Editado Wisner12 segunda-feira, 21 de janeiro de 2013 19:03
    segunda-feira, 21 de janeiro de 2013 19:03
  • melhor ... só da certo para o primeiro campo da grid =s 
    pros demais n =s 
    segunda-feira, 21 de janeiro de 2013 19:24