jQuery removing hash value from URL

0 votes
asked Mar 5, 2010 by ryanp13

I have a hard coded URL like so:

https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1

When Javascript is enabled i don't want the hash value on the end so how do i remove it?

When Javascript is disabled it needs to be present.

Thanks.

EDIT

Here is the AJAX jQuery that i am using. So i am pasisng the hard coded URL to the same page on the server and retrieving a table from it:

        // Find href of current tab
    var $tabValue = $(this).attr('href');

    // AJAX new table in
    $.ajax({
        type: "GET",
        cache: false,
        url: $(this).attr('href'),
        success: function(data){

        // Find benefit wrap
        $(data).find('.benefitWrap').each(function(){
            // get the contents
            var $benefitWrap = $(this).html();
            // replace contents on page
            $('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>'));

        });

       }

    });

3 Answers

0 votes
answered Mar 5, 2010 by adam-kiss

original

It depends on what the hash value does. If it just moves the document down to #a1, you just need to set scrollTop to 0 after document has been loaded probably.

edit

looking on other stackoverflow questions,

parent.location.hash = ''

should do it, but maybe reloads the page (you have to test it)

Other than that, I advice you to handle it during/before your AJAX calls - i.e.

if (hash != 'a1'){ doAjax(); } //pseudocode obviously.

edit 2 with code based on posted code

Or, if you just need to call AJAX with url without hash, you can delete it in string, that calls the jQuery, no?

var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));

we basically get a's href before first #

0 votes
answered Mar 13, 2011 by steve-chab

A simple window.location.hash="" will do it.

0 votes
answered Jan 1, 2012 by spiderkeg

This might be helpful to someone asking the same question, how to pull the data following a # in a href.

this.hash.slice(1);

This will give #123 as 123.


Edit: I should probably note, if you're going to be calculating numbers from this data, best to use parseInt(this.hash.slice(1)); or else you'll get funky results.

Welcome to Q&A, where you can ask questions and receive answers from other members of the community.
Website Online Counter

...