【问题标题】:Struts2 autocomplete form submission with only the suggested values仅使用建议值的 Struts2 自动完成表单提交
【发布时间】:2017-10-30 02:55:35
【问题描述】:

我在表单中使用 struts2 自动完成功能。在通过各种文本框上的自动完成选择所有字段后,我将提交表单。现在,我不想让用户在自动完成文本框中输入随机输入并允许提交。如何解决这个问题?

编辑:

<form class="form-horizontal" name="createproduct" role="form">
            <div class="form-group">
                <label for="density" class="col-sm-3 control-label">Select
                    Density</label>
                <div class="col-sm-9">
                    <sj:autocompleter size="30" list="descArray" name="desc"
                        id="density" placeholder="Density" class="form-control"></sj:autocompleter>
                </div>
            </div>
            <div class="form-group">
                <label for="density" class="col-sm-3 control-label">Select
                    Material</label>
                <div class="col-sm-9">
                    <sj:autocompleter size="30" list="matArray" name="mat" id="mat"
                        placeholder="Material" class="form-control"></sj:autocompleter>
                </div>
            </div>
..... //// more form elements go here ...... /////

【问题讨论】:

  • 这取决于您使用的自动完成程序。显示一些代码。 BTW S2 dojo 插件已弃用。
  • 我添加了一些代码来告诉你发生了什么。如果推荐dojo插件,请您推荐我最好的方法。

标签: autocomplete struts2


【解决方案1】:

尝试Select2 jquery 插件。您可以获取所有详细信息并初始化插件,也可以按需获取信息。

根据输入获取信息;

 $("#material").select2({
                 tags: false,
                 minimumInputLength: 1, // Minimum Input length for search request
                 ajax: {
                     url:'actionName',
                     dataType:'json',
                     data:function(params){
                         return{
                             materialSearchTerm: params.term, // search term
                             page: params.page
                         };
                     },
                      processResults: function (data, page) {
                          var jsonResult = JSON.parse(data);
                          return {
                              results: jsonResult.result
                          };
                      }

                 }
            });

actionName 应该将选择输入作为 JSON 返回。

例如;- {result:[{ id: 0, text: 'enhancement' }, { id: 1, text: 'bug' }, { id: 2, text: 'duplicate' }, { id: 3, text: 'invalid' }, { id: 4, text: 'wontfix' }];}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2011-08-24
    相关资源
    最近更新 更多