2010-08-18 51 views
0

我試圖在Bugzilla中創建一些必填字段,從我讀過的內容中,最簡單的方法是使用JavaScript。我已經使用的代碼如下所示,但似乎沒有工作。我的Javascript知識相當有限,所以我認爲這是我的編碼錯誤。在Bugzilla中強制使用字段的問題

 <script type="text/javascript"> 
     <!-- 
      function mandatory_text_check(){ 
       if (this.form.short_desc.value == '') 
       { 
       alert('Please enter a summary sentence for this [% terms.bug %].'); 
       return false; 
       } 
       else if (this.form.estimated_time.value == '0.0' && this.form.cf_issuetype.value == 'Task') 
       { 
       alert('Please enter an estimated time for completion of this task.'); 
       return false; 
       } 
       else 
       return true; 
      } 
     --> 
     </script> 



// Function is called from the commit button on the bottom of the page 


     <input type="submit" id="commit" value="Commit" 
      onclick="mandatory_text_check();"> 

回答

0

我相信問題是這一行:

if (this.form.short_desc.value == '') 

,並在您使用this所有其他地方。改爲嘗試document

如果您包含FORM標記(或樣本,如果其大),這將是一個很大的幫助,因爲這是相關的。

+0

是啊,這個問題是部分在那裏,我換成this.form與document.create。這是在代碼(var form = document.Create;)中定義的,但似乎沒有被識別。我還必須爲該函數創建一個變量以返回true或false,並將其添加到onclick 現在完美工作,感謝您的幫助 – user379222 2010-08-19 11:46:12

0

我有同樣的問題,但我做了一個擴展。使用鉤子系統將名稱中帶有「*」的字段翻譯爲需要的字段進行驗證。這是一個簡單的解決方案,不需要添加數據庫中的字段,只需在配置自定義字段時使用sufix「*」即可。

有代碼:https://github.com/voiski/bugzilla-required-field

相關問題