2017-05-29 58 views
0

我在表单中使用struts2自动填充。在我通过各种文本框自动填充选择所有字段后,我会进行表单提交。现在,我不想让用户在自动完成文本框中键入随机输入并允许提交。如何解决这个问题?只有建议值的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 ...... ///// 
+1

这取决于您使用的自动完成器。显示一些代码。 BTW S2 dojo插件已弃用。 –

+0

我已经添加了一些代码来告诉你发生了什么。如果建议使用dojo插件,您能否建议我最好的方法。 –

回答

0

尝试Select2 jQuery的plugin.You可以获取所有的细节和初始化插件或可以获取需求信息。

基于输入获取信息;

$("#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' }];}