使用github.com/zserge/lorca
软件包编写Golang应用。
这会将golang函数绑定到Javascript。
我有带有文本输入和提交按钮的HTML,该按钮应将文本输入作为arg传递到Javascript绑定中。它看起来如下:
<input type="text" name="MACADD" style="height:20px; width:210px">
<input type="submit" value="submit" onclick="JSBINDFUNC(MACADD)">
JSBINDFUNC
使用golang类型string
进行输入。
当我点击提交时,它应该将为MACADD
输入的文本作为参数传递到JSBINDFUNC
函数中。
但是,我又回来了
exception":{"type":"string","value":"json: cannot unmarshal object into Go value of type string"}
需要这个object
成为golang string
。
更完整的截图:
package main
import (
"fmt"
"log"
"net/url"
"github.com/zserge/lorca"
)
func main() {
ui, err := lorca.New("data:text/html,"+url.PathEscape(`
<html>
<form action="/action_page.php">
MAC Address:<br>
<input type="text" name="MACADD" style="height:20px; width:210px">
<input type="submit" value="Submit" onclick="JSBINDFUNC(MACADD)">
</form>
</body>
</html>
`), "", 480, 320)
if err != nil {
log.Fatal(err)
}
//ui.Bind implemented @ https://github.com/zserge/lorca/blob/master/ui.go#L110
ui.Bind("JSBINDFUNC", func(MAC string) {
fmt.Println(MAC)
return
})
defer ui.Close()
<-ui.Done()
}
答案 0 :(得分:2)
问题出在您的JavaScript上。像这样更新您的onclick属性:
<input type="submit" value="Submit" onclick="JSBINDFUNC(MACADD.value)">