2017-05-29 56 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' }];}