func submitInput(input jquery.JQuery) { if currentPath != "/exec" { log.Println("ignore non exec ", currentPath) return } cmd := strings.TrimSpace(input.Val()) if cmd == "" { return } go func() { d := mySite.DocByPath[currentPath] page := mySite.PageByPath[currentPath] var pre, result string args := strings.Split(cmd, " ") err := rpc.Call("Listener.Exec", &args, &result) if err != nil { pre = fmt.Sprintf("error: %v", err) } else { pre = result } pre = ghtml.EscapeString(pre) body := d.Pre(&String{pre}).Markup(d) jq(input).SetAttr("disabled", "yes") ec := jq(input).Closest("div.ExecCommand") res := ec.Find("div.ExecResult") jq(res).SetHtml(body) jq(res).Closest("div.row").RemoveClass("hide") parent := jq(ec).Parent() add := page.(*execPage).ExecCommand.Body(d) parent.Append(add.Markup(d)) jqBind(jq(parent)) jq(parent).Find("input:last").Focus() }() }