user1358426
user1358426

Reputation: 21

How to get a value of an input element with id contains special characters?

HTML code:

<input id="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" name="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" value="10.9.9.9" class="" type="text">

JavaScript code:

var grade =  $('#lfr\\_\\_WSRP\\_e044d147\\_\\_55a7\\_\\_4e6b\\_\\_9e5f\\_\\_938e05d9050c\\_\\:services:dtServicesTable\\:'+i+'\\:\\_id68\\:'+j+'\\:framedRouteIp').val();

but my JavaScript code is not giving me the value.

Upvotes: 2

Views: 134

Answers (3)

Nitesh Pawar
Nitesh Pawar

Reputation: 425

use \\ before : only as your Id have : special character _ (underscore is not special character )

Run below code and check output in console.

<script src="//code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
    $(function() {
        var grade = $("#lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_\\:services\\:dtServicesTable\\:0\\:_id68\\:0\\:framedRouteIp").val();
        console.log(grade);
    });
</script>
<input id="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" name="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" value="10.9.9.9" class="" type="text">

Upvotes: 0

Shashank
Shashank

Reputation: 348

You should only escape : as _ is not a special character So your javascript code will be :

var grade =  $('#lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_\\:services\\:dtServicesTable\\:0\\:_id68\\:0\\:framedRouteIp').val();

this will work

Upvotes: 0

Zakaria Acharki
Zakaria Acharki

Reputation: 67525

Should be like the following code since underscore _ is not a special character, you have just one special character : that you have to escape.

Hope this helps.


var i=0,j=0;
var grade = $('#lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_\\:services\\:dtServicesTable\\:'+i+'\\:_id68\\:'+j+'\\:framedRouteIp').val();

$('#result').text(grade);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" name="lfr__WSRP_e044d147__55a7__4e6b__9e5f__938e05d9050c_:services:dtServicesTable:0:_id68:0:framedRouteIp" value="10.9.9.9" class="" type="text">
<br>
<span id='result'></span>

Note : Check comments in question You should seriously reconsider whatever it is you're trying to accomplish with an input ID like that....

Upvotes: 1

Related Questions