2012-08-03 4 views
-2

J'appelle une fonction JavaScript d'un événement onclick dans une page JSP.Javascript analyse syntaxique String à int automatiquement

<% 
     String value = "06654" 
    %> 

    <body> 
    <a href="javascript://" onclick="myFunction(<%= value %>)">Click Me!</a> 
    </body> 

fonction Mon JavaScript est comme ce

function myFunction(myString) 
    { 
     alert(myString); 
     //Do Stuff; 
    } 

myString est égal à 06654, mais je commence à 6654 quand j'alertes sa valeur. Comment puis-je empêcher js d'analyser automatiquement la chaîne en un int?

+4

Cela ne se fait pas automatiquement (à moins que vous n'utilisiez 'myString' avec des opérateurs qui travaillent sur des nombres). Vous devez traiter l'argument que vous passez à 'myFunction' d'une manière ou d'une autre. –

+1

Cela ne se fait pas automatiquement, je reçois toujours le '0' ici: http://jsfiddle.net/53v3y/ –

+1

Que transmettez-vous à myFunction? Ça doit être un int. appelle toString sur ce que vous lui passez. –

Répondre

2

Si vous émettez la chaîne dans la page, le résultat sera

… onclick="myFunction(06654)" … 

qui est obviosly interprété comme un nombre. Pour en faire une chaîne JavaScript, entourez-la de guillemets:

… onclick="myFunction('<%= value %>')" …