Skip to content
Advertisement

how to send the value of an anchor with jquery ajax to php

I am trying to send to values of a couple of anchors with jquery to php file but i got no callback from the php script.

<div class="result"></div>

<a href="#" value="5" class="star">Star 5</a>
<a href="#" value="4" class="star">Star 4</a>
<a href="#" value="3" class="star">Star 3</a>
<a href="#" value="2" class="star">Star 2</a>
<a href="#" value="1" class="star">Star 1</a>

the jquery:

$('a').on('click', function(e) {
    e.preventDefault();

    var star = $(".star").val();

    $.ajax({
        url: 'process.php',
        type: 'POST',
        data: {
                star:star                           
                },

        success: function(data){
            $('.result').html(data);                        
        }       
    });
});

And the php (process.php):

if (isset($_POST['star'])) {        
    $star = $_POST['star'];
    echo $star;

}

what am i doing wrong?

What i want to achieve: click on Star 5, give me value “5” back. Click on Star 4, give me value “4” back and so on…

Advertisement

Answer

value is not an accepted attribute for <a> tags, you can view available attributes at https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a

I would recommend:

<div class="result"></div>

<a href="#" data-value="5" class="star">Star 5</a>
<a href="#" data-value="4" class="star">Star 4</a>
<a href="#" data-value="3" class="star">Star 3</a>
<a href="#" data-value="2" class="star">Star 2</a>
<a href="#" data-value="1" class="star">Star 1</a>

<script>
$('a').on('click', function(e) {
    e.preventDefault();

    var star = $(this).data('value');

    $.ajax({
        url: 'process.php',
        type: 'POST',
        data: {star:star},
        success: function(data){
            $('.result').html(data);                        
        }       
    });
});
</script>
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement