Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rockrgo

função anchor() codeigniter

Recommended Posts

Bom dia pessoal,

 

como faço para obter o mesmo resultado de:

<a href="#"></a>

com a função anchor() do codeigniter? Pois se faço:

anchor("#","Link")

minha página é direcionada para a home.

Compartilhar este post


Link para o post
Compartilhar em outros sites

n tenho certeza, acho ele ve o '#' e como não é um nome de controller ele redireciona para a pagina padrão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse ajax vc esta chamando no onlick do link correto? posta esse trecho de codigo ai

Compartilhar este post


Link para o post
Compartilhar em outros sites


$('.check').live('click',function(e) {

e.preventDefault();

var id = $(this).data('id');

$.ajax({

type: "POST",

url: "<?php echo base_url('tarefas/concluir')?>",

data: { concluir: id}

}).done(function() {

window.reload();

 

});

});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrei tenho o ci aqui rs, veja se esse exemplo te ajuda,

 

 

 
 
<script>
    function teste(){
        alert('não redirecione');
    }
</script>
 
<?php
echo anchor('#','teste', array('onclick' => 'teste(); return false;' ));

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim cara mas não rolou ve se tem algo errado.

 

anchor("#",'<i class="icon icon-checkmark"></i>','class="check" data-id="'.$linha->id.'" title="Concluir" onclick="concluir(); return false;"')


<script>
           //Conclui a tarefa            
            function concluir() {                
                concluir.preventDefault();
                var id = $(this).data('id');
                $.ajax({
                    type: "POST",
                    url: "<?php echo base_url('tarefas/concluir')?>",
                    data: { concluir: id}
                }).done(function() {                    
                    window.reload();
                });                
            };

</script>

 

//código gerado

<a href="http://localhost/workflow-novo/#" class="check" data-id="19" title="Concluir" onclick="teste(); return false;"><i class="icon icon-checkmark"></i></a>


cara copiei e colei seu código fora do meu conteúdo e funcionou...acho que o que está ferrando é que meu link está dentro de uma <tr> que tbm tem uma chamada javascript e estou usando nesta chamada a função .stopPropagation().

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda n deu tempo de testar aqui, acho o problema é o ajax tente deixar ele sincrono, async: false

 

 

<script>
           //Conclui a tarefa            
            function concluir() {                
                concluir.preventDefault();
                var id = $(this).data('id');
                $.ajax({
                    type: "POST",
                    url: "<?php echo base_url('tarefas/concluir')?>",
                    data: { concluir: id},
            async: false
                }).done(function() {                    
                    window.reload();
                });                
            };
 

anchor("#",'<i class="icon icon-checkmark"></i>','class="check" data-id="'.$linha->id.'" title="Concluir" onclick="concluir(); return false;"')

</script>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara acabei de conseguir.

 

meu código ficou assim e funcionou.

//Conclui a tarefa            
            $('.check').click( function(e) {                
                e.stopPropagation();          
                e.preventDefault();
                var id = $(this).data('id');
                $.ajax({
                    type: "POST",
                    url: "<?php echo base_url('tarefas/concluir')?>",
                    data: { concluir: id}
                }).done(function() { 
                    alert("Tarefa concluída");
                    location.reload();                    
                });                
            });

Valeu pela força cara! ajudou bastante!

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a diferença? o stopPropagation()?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o stopPropagation impede do <a> executar tbm o evento da <tr>, eu estava usando o stopPropagation no evento da tr e não no link.

 

 

Ah, vocês estavam chamando [inline]preventDefault[/inline] no método e não no evento.

 

Não entendi Evandro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi Evandro.

 

 


function concluir() {                
    concluir.preventDefault();   // <--- concluir.preventDefault()
                                 // A função concluir não possui o método
                                 // preventDefault
                                 // quem possui este método é o evento que ela recebe
                                 // como primeiro argumento. Como na sua solução:
$('.check').click( function(e) { // <--- Argumento "e" de "evento"
    e.stopPropagation();         // ...
    e.preventDefault();          // eventos possuem o método preventDefault
                                 // A correção na forma anterior ficaria:
function concluir(event) {       // Recebemos o evento
    event.preventDefault()       // Prevenimos a ação padrão

 

 

 

 

Quando estiver utilizando jQuery, basta retornar [inline]false[/inline] dentro do método.
$('a').click(function () {
    return false; // nenhum link da página levará para outro lugar
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.