簡體   English   中英

jQuery表單驗證的選擇性字段

[英]selective fields for jquery form validation

我實際上是在做調查表的創建(類似於Surveymonkey)。 有一個專欄,您可以選擇是否要將此問題設為必填字段。 然后從那里開始對您在創建表單時勾選的所選字段進行驗證。

所以現在我的問題是,必填字段是您想要的,所以它不是固定的。

我該如何編寫用於驗證的jquery,以便它根據強制性要求驗證所選字段?

這是到目前為止我所做的代碼示例。它僅驗證其中一個字段。 但是,如果創建表單的人決定擁有多個必填字段,則不會檢查下一個必填字段。

<?php
$vQuery = "SELECT * FROM scFormLayout WHERE surveyID = '$id'";
$vResult = sqlsrv_query($conn, $vQuery);

while ($value = sqlsrv_fetch_array($vResult)) {
    $vID = $value['id'];
    $qnsID = 'qns'.$vID.'[]';
    $compulsory = $value['compulsory'];
    $vQuestion = $value['question'];

if ($compulsory == 'Compulsory') {
?>
    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            // 1. prepare the validation rules and messages.
               var rules = {"<?php echo $qnsID; ?>": "required"}; 
               var messages = {"<?php echo $qnsID; ?>": "<?php echo $vQuestion; ?> is required"};
            // 2. Initiate the validator
               var validator= new jQueryValidatorWrapper("Form",rules, messages);
            // 3. Set the click event to do the validation
               $("#btnValidate").click(function () {
                   if (!validator.validate())
                         return;
                   });
               });

   </script>
<?php } }
sqlsrv_free_stmt($vResult); ?>

更好的方法是在while循環中為每個問題(假定是必需的)添加一個“必需”的類。

然后,只需在document.ready()函數內單獨的腳本標簽下的表單上使用jquery.validate即可。 讓我知道是否有幫助,或者您需要更多信息。

---編輯---例如,如果您要在while循環中向數據庫顯示來自用戶的問題,則對於某些問題,您會將“必修”值設置為“必修”。 現在,您只想根據jquery的要求驗證此類問題。 接下來是如何去做。

enter code here

<?php
while($res = $results) {
  echo $res['question'].'<br/>';
  if($res['compulsory'] = 'Compulsory')
      echo '<input name = "any_name" class="required">';
  else
      echo '<input name = "any_name">';
}
?>
<script>
$(document).ready(function () {

$('#myForm').validate();

})
</script>

希望有足夠的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM