2012-04-23 4 views
0
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
<script type="text/javascript"> 
var ts=''; 
function test(value1) 
{ 
// this works when the value1 is a number only but if value1 is a string is does not work 
    var optionsVal = ' '; 
    optionsVal= '<input type="button" onclick="postRun('+value1+')" value="test" /> '; 
    document.getElementById('test').innerHTML = optionsVal; 
} 
function postRun(km) 
{ 
alert(km); 
} 

</script> 
</head> 
<body> 
<% 
String ss="Click Me"; 
%> 
<input type="button" onclick="test('<%=ss%>')" value="Click me" /> 

<div id="test"></div> 

</body> 
</html> 
+1

и ваш вопрос? – Joseph

ответ

1

Да, это связано с тем, что встроенный код не выводится на выходе. Использовать JSON:

optionsVal= '<input type="button" onclick=\'postRun(' 
    + JSON.stringify(value1) 
    + ')\' value="test" />'; 
+0

Он работает! Спасибо @Thomas Allen – merz321

+0

Обязательно сделайте JSON доступным для старых браузеров с помощью библиотеки json2. –

Смежные вопросы