2

go 言語を使用して、go-template を使用して HTML フォームを送信しています。奇妙な結果が得られます。

基本的な考え方は、いくつかの要素を含む Page というデータ構造を持っているということです。テンプレートには、ページの配列が取り込まれます。テンプレート内で各ページを繰り返し処理し、その内容を表示します。これらの各コンテンツは、それぞれのリンクとともに HTML フォーム内に埋め込まれます。リンクをクリックすると、それぞれのフォームが送信されます。

コード スニペットは次のとおりです。

{{range $index, $element := .Pages}}                                                                            
  <form action="/detailNews" id="readMore{{$index}}" method="post" name="readMore{{$index}}">
    //displaying elements from each page                    

    <div id="more">
      <input name="query" type="hidden" value="{{printf "%s" .Title}}">                         
      <a href="#" onclick="document.readMore{{$index}}.submit()">Read More</a>
    </div>

  </form>
{{end}}

コードはほとんどの場合、1 つの小さな問題で動作します。id および name 属性は、 readMore0 、 readMore1 などの期待どおりの出力を生成ます

問題は、onclick 属性が次のように設定されている "a" タグにあります: document.readMore 0 .submit()document.readMore 1 .submit()など。0、1を囲むスペースに注意してください。リンクをクリックしても、それぞれのフォームが見つかりません。

この理由がわかりません。

どんな助けでも大歓迎です。

ありがとう、リプル

4

2 に答える 2