使用HTML按钮调用带有参数的JavaScript函数
我试图通过HTML按钮调用带有参数的JavaScript函数 HTML:使用HTML按钮调用带有参数的JavaScript函数,javascript,php,html,function,base64,Javascript,Php,Html,Function,Base64,我试图通过HTML按钮调用带有参数的JavaScript函数 HTML: <input id="clickMe" type="button" value="clickme" onclick="callFunc("<?php $x='Hello World'; echo $x; ?>")" /> 什么是$param,它是全局范围内定义的变量吗?如果不是,它将抛出一个错误并停止脚本的其余部分,您应该在javascript控制台中看到这一点。。您调用函数“callFunc”,
<input id="clickMe" type="button" value="clickme" onclick="callFunc("<?php $x='Hello World'; echo $x; ?>")" />
什么是$param
,它是全局范围内定义的变量吗?如果不是,它将抛出一个错误并停止脚本的其余部分,您应该在javascript控制台中看到这一点。。您调用函数“callFunc”,但它不存在…@Patrick Evans$param实际上是一个字符串类型的PHP变量。我调用callFunc()传递变量$x='some string';要转换为base-64字符串。没有实际的错误,显示什么也不做$param不是全局的。$x的值是用户在表单文本框中输入的值。onclick=str2b64()!使用单引号而不是双引号解决了这个问题,例如onclick=“callFunc(“”)”感觉很傻,因为我认为我尝试了单引号和双引号。对不起!
/*
* Convert string to a base-64 string
*/
function str2b64(input) {
try { b64pad } catch(e) { b64pad=''; }
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var output = "";
var len = input.length;
for(var i = 0; i < len; i += 3) {
var triplet = (input.charCodeAt(i) << 16)
| (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
| (i + 2 < len ? input.charCodeAt(i+2) : 0);
for(var j = 0; j < 4; j++) {
if(i * 8 + j * 6 > input.length * 8) output += b64pad;
else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
}
}
alert(output);
}