如何在golang中获取<ul>的表单值?

在我的用例中,我使用 tag tag-it从用户那里获取标签。我正在获取以 html<ul>形式输入的标签。我在服务器端使用 golang。


html:


   <form class="comment-form" action="/add/" method="POST" enctype="multipart/form-data">

    <div class="form-input">

      <label for="tags_label">Tags</label>

      <ul id="tags">

        <script type="text/javascript">

          $("#myTags").tagit();

          var tagsArray = ["C", "C++", "Go", "Ruby"];

          $("#tags").tagit({

              itemName: "teamId",

              fieldName: "teamName",

              availableTags: tagsArray,

              allowSpaces:true,

              caseSensitive:false,

              removeConfirmation:true,

              placeholderText:"Tags",

              tagLimit: 5,

              allowDuplicates: false,

              singleFieldDelimiter: ',',

              onlyAvailableTags: false

          });

        </script>

      </ul>

    </div>

   </form>

在服务器端,我试图获得类似于表单中其他字段的值,如下所示,


tags            := r.FormValue("tags")

log.Printf("Tags : ", tags)

但它不起作用。有人可以帮我解决这个问题吗?


编辑: 当我检查元素时,这就是我所看到的,


<div class="form-input">

    <label for="tags_label">Tags</label>

    <ul id="tags" class="tagit ui-widget ui-widget-content ui-corner-all">

        <script type="text/javascript">

            $("#myTags").tagit();

            var tagsArray = ["C", "C++", "Go", "Ruby"];

            $("#tags").tagit({

                    itemName: "teamId",

                    fieldName: "teamName",

                    availableTags: tagsArray,

                    allowSpaces:true,

                    caseSensitive:false,

                    removeConfirmation:true,

                    placeholderText:"Tags",

                    tagLimit: 5,

                    allowDuplicates: false,

                    singleFieldDelimiter: ',',

                    onlyAvailableTags: false

            });



天涯尽头无女友
浏览 138回答 1
1回答

胡子哥哥

发现了问题:你希望一个字段,但你没有在指定它的选项的tag-it。如下使用它(为清楚起见添加了一些注释):<script type="text/javascript">&nbsp; &nbsp; $("#myTags").tagit();&nbsp; &nbsp; var tagsArray = ["C", "C++", "Go", "Ruby"];&nbsp; &nbsp; $("#tags").tagit({&nbsp; &nbsp; &nbsp; &nbsp; fieldName: "teamName", // The name of the hidden input field&nbsp; &nbsp; &nbsp; &nbsp; availableTags: tagsArray,&nbsp; &nbsp; &nbsp; &nbsp; allowSpaces:true,&nbsp; &nbsp; &nbsp; &nbsp; caseSensitive:false,&nbsp; &nbsp; &nbsp; &nbsp; removeConfirmation:true,&nbsp; &nbsp; &nbsp; &nbsp; placeholderText:"Tags",&nbsp; &nbsp; &nbsp; &nbsp; tagLimit: 5,&nbsp; &nbsp; &nbsp; &nbsp; allowDuplicates: false,&nbsp; &nbsp; &nbsp; &nbsp; singleField: true, // Use a hidden input element with the fieldName name&nbsp; &nbsp; &nbsp; &nbsp; singleFieldDelimiter: ',', // Optional, default value is same.&nbsp; &nbsp; &nbsp; &nbsp; onlyAvailableTags: false&nbsp; &nbsp; });</script>在运行期间(和输入标签),<input>将使用隐藏的标签,以及您在tag-it选项中指定的标签。<input type="hidden" style="display:none;" value="Go,another value,C" name="teamName">在 Go 中,按如下方式处理(你错过了%sin Printf):tags := r.FormValue("teamName")log.Printf("Tags: %s", tags)然后,您可以使用 分割标签strings.Split。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go