Как обновить определенную строку таблицы HTML при нажатии на ячейку - PullRequest
0 голосов
/ 03 ноября 2018

Сначала извините за мой плохой английский, я постараюсь сделать все возможное.

Я пытаюсь создать веб-приложение, которое отображает имена серверов, их IP-адреса, ping, порты и т. Д. *

Вот часть моего кода:

MAIN.GO:

type Widget struct {
Ipport  string
Number  string
State   string
Colport string
Blink   string
}

type resulthtml struct {
Name       string
Affordi    string
Afflieu    string
Affip      string
Affresping string
Affresport string
Affport    string
Affactif   string
Colping    string
Lisports   []Widget
Blink      string
}

var prout []resulthtml

// 80% of the missing code is here like ping function, etc, etc

func main() {

//.........some code here.............

    http.Handle("/favicon.ico", http.NotFoundHandler())
    http.HandleFunc("/", affichagePing)
    http.ListenAndServe(":2692", nil)
}


func affichagePing(w http.ResponseWriter, r *http.Request) {

    tmpl := template.Must(template.ParseFiles("test.html"))
    tmpl.Execute(w, prout)
}

И TEST.HTML:

        <div id="cadre_affich1">
        <table id="Affichageglobal">
        <thead>
                <tr>    
                    <th class="AffichageLigneT" style="width: 3%;"></th>
                    <th class="AffichageLigneT" style="width: 15%;">Name</th>
                    <th class="AffichageLigneT" style="width: 8%;">Type</th>
                    <th class="AffichageLigneT" style="width: 6%;">Place</th>
                    <th class="AffichageLigneT" style="width: 14%;">IP</th>
                    <th class="AffichageLigneT" style="width: 10%;">Ping</th>
                    <th class="AffichageLigneT" style="width: 41%;">Ports</th>
                    <th class="AffichageLigneT" style="width: 3%;"></th>
                </tr>
            </thead>
            <tbody>
                {{range .}}
                <tr>
                    <td class="AffichageLigneRefr"></td>
                    <td class="AffichageLigneNom"><span class="AffichageStatut" style="background-color:{{.Colping}}"></span><span>{{.Name}}</span></td>
                    <td class="AffichageLigneType">{{.Affordi}}</td>
                    <td class="AffichageLigneLieu">{{.Afflieu}}</td>
                    <td class="AffichageLigneIP">{{.Affip}}</td>                        
                    <td class="AffichageLigneResPing"><span class={{.Blink}} style="color:{{.Colping}}">{{.Affresping}}</span></td>                     
                    <td class="AffichageLignePorts">{{range $v := .Lisports}}<span class={{$v.Blink}}>{{$v.Number}}</span>{{end}}</td>
                    <td class="AffichageLigneEdit"></td>
                </tr>
                {{end}}
            </tbody>
        </table>
    </div>

У меня нет проблем с отображением того, что я хочу. Теперь я хочу обновить строку без перезагрузки всей страницы (ее пинг, имя и т. Д.), Когда я нажимаю на первую ячейку. Я знаю, что должен делать это через Javascript, который будет отправлять информацию в Go Handler, но я потратил часы и попробовал так много всего ...

Я не могу заставить его работать.

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...