2016-08-19 156 views
-1

嘗試構建一個功能,其中AT至少需要一對字段對s_AAA/s_BBB是要提交的表單所必需的。有一個oppurtunity供用戶提交多達5 s_AAA/s_BBB組合。可以將此視爲一種可以引用五位朋友的形式,但必須至少提交1才能提交表單。如何製作所需的第一對字段,其餘不要求

任何幫助表示讚賞!

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script> 
    <script type="text/javascript">  
    (function ($, W, D) { 
     var SIGNUPVALIDATION = {}; 

     SIGNUPVALIDATION.UTIL = { 
      setupFormValidation: function() { 
       //form validation rules 
       $("#friend_req").validate({ 
        rules: { 
         s_referee_email: "required", 
         s_referee_fname: "required", 

        }, 
        messages: { 
         s_referee_email: "Please enter at least one friend's email address", 
         s_referee_fname: "Please enter your friends first name", 
        }, 
        submitHandler: function (form) { 
         form.submit(); 
        } 
       }); 
      } 
     } 
     //when the DOM has loaded setup form validation rules 
     $(D).ready(function ($) { 
      SIGNUPVALIDATION.UTIL.setupFormValidation(); 
     }); 

    })(jQuery, window, document); 
    </script> 
+0

請爲您所使用的確認庫​​添加標籤或更新您的問題。 –

+0

補充,謝謝Mike的建議! – badsmell

回答

0

除非您專門用javascript來做,否則您只需將required添加到HTML5表單即可。例如:

<input type="text" name="usrname" required> 

的問題就變成了Safari瀏覽器 - 如果需要的字段爲空白字符也將不渲染錯誤給用戶,這將不提交表單。您的用戶將坐在那裏不知道爲什麼表單不會提交。在這種情況下,你可以使用一些JS來做到這一點。你可能會問,爲什麼不直接用JS做,然後跳過HTML驗證?好吧,我想這是個人決定,但我喜歡使用組合方法,因爲我喜歡HTML驗證在其他瀏覽器中爲您提供的小彈出窗口。

如果你要做到這一點的JS,你要創建,抓住要驗證像這樣的輸入的功能:

nameInput = document.querySelector("#name").value 

並從那裏你可以檢查是否有長度輸入,如果你想確保它符合一定的最小字符或者你可以檢查,看看是否有使用.test()有類似的值:

/^[a-zA-Z]+/.test(nameInput) 

從那裏,如果是這樣,你繼續提交,如果沒有,那麼你向我們發出錯誤er:

*assuming you have a div with a class of "error", if not you could create one dynamically 

else { 
    error.innerHTML = "You must provide a name."; 
} 
+0

謝謝Moly。使用HTML5解決方案是一個不錯的優雅解決方案!謝謝!不要讓阿賈克斯跑... – badsmell

+0

歡迎您!如果這解決了您的問題,那麼請考慮將其標記爲解決方案;) – HolyMoly

+1

對不起,我將這個新堆棧標記爲解決方案。 Thakns HolyMoly。 – badsmell

相關問題