Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Go函数传递给html/js按钮;onclick";响应_Javascript_Html_Go_Button_Go Templates - Fatal编程技术网

Javascript 将Go函数传递给html/js按钮;onclick";响应

Javascript 将Go函数传递给html/js按钮;onclick";响应,javascript,html,go,button,go-templates,Javascript,Html,Go,Button,Go Templates,我使用Go的“net/http”包在Go中的html和后端之间传递数据。例如,我们可以使用如下图像的位置: <img src={{.MyPicture}} width=200 height=auto/> 现在我的问题是:如何设置按钮的响应以调用我的函数?我希望这能起作用,但事实并非如此: <button onclick={{.ShowMoreLinks}}>Show more!</button> 显示更多! 我得到了“[js]声明或语句”,我尝试将其包

我使用Go的“net/http”包在Go中的html和后端之间传递数据。例如,我们可以使用如下图像的位置:

<img src={{.MyPicture}} width=200 height=auto/>

现在我的问题是:如何设置按钮的响应以调用我的函数?我希望这能起作用,但事实并非如此:

<button onclick={{.ShowMoreLinks}}>Show more!</button>
显示更多!

我得到了“[js]声明或语句”,我尝试将其包装在脚本中(内联和标题中),但这两种方法都不起作用。JS无法处理传入的变量。

实际上,您正在使用Go的模板机制来准备发送到浏览器的HTML。这只会填充占位符,最终只生成一个字符串(在本例中为HTML),该字符串将通过网络发送到浏览器进行解释。浏览器只能通过“onclick”等事件处理与用户的交互。此外,这些事件必须是Javascript代码,如JS表达式或函数调用:

onclick="jsFunction()"
您可以让Go模板提供要在占位符中调用的函数:

onclick="{{.JSFuncCall}}"

这里“.JSFuncCall”必须计算为您必须在JS客户端代码中定义的某个JS函数名(以及进行调用的括号)。然后,Javascript函数可以在某个特定URL处对服务器进行XHR调用,从而触发Go处理程序,运行要运行的Go代码,然后返回一个响应,然后可以在JS函数中处理。

实际上,您正在使用Go的模板机制来准备发送到浏览器的HTML。这只会填充占位符,最终只生成一个字符串(在本例中为HTML),该字符串将通过网络发送到浏览器进行解释。浏览器只能通过“onclick”等事件处理与用户的交互。此外,这些事件必须是Javascript代码,如JS表达式或函数调用:

onclick="jsFunction()"
您可以让Go模板提供要在占位符中调用的函数:

onclick="{{.JSFuncCall}}"
这里“.JSFuncCall”必须计算为您必须在JS客户端代码中定义的某个JS函数名(以及进行调用的括号)。然后,该Javascript函数可以在某个特定URL处对服务器进行XHR调用,从而触发Go处理程序,运行要运行的Go代码,然后返回一个响应,然后可以在JS函数中处理该响应