2016-01-22 70 views
0

我有一個動態表單,它可以從sql db建立問題: Questiontext本身位於標籤或圖例中。在此之下出現選項或複選框或文本輸入字段。 提交後,我檢查與jquery的錯誤,但錯誤文本的位置是選項或複選框或文本字段之前或之後。 我想在問題文本後面加一個*。 我怎樣才能得到它?標籤中的jquery錯誤位置

HTML表單部分代碼如下:

<table border=0 style="width:99%"> 
    <tr><td colspan="3"> 
    <form id="myform" method="post" action="processform.asp" name="myform" novalidate="novalidate"> 
    <% 
    for i = 0 To ubound(arrVragen, 2) 
     vraagnr = arrVragen(0,i) 
     vragenlijstnr = arrVragen(1,i) 
     vraagdispnr = arrVragen(2,i) 
     vraagtype = arrVragen(3,i) 
     vraag = arrVragen(vraagNLEN,i) 
     vraagMandatory = arrVragen(6,i) 
     vraagConditional = arrVragen(7,i) 
     vraagVolgorde = arrVragen(8,i) 
     if vraagMandatory=0 then 
      req="&nbsp" 
     else 
      req="required" 
     end if 
     if vraagConditional = 1 then 
      'lookup SourceCondition en TargetCondition en LogicSelect in arrConditionalLogic 
      lookuplogic vraagnr 
      'display vraag 
      depends="q"&source&logic&"a"&answerinput 
'response.write(depends) 
      response.write("<fieldset class='form-question' data-depends-on="&depends&">") 
      response.write("<label>" & vraagdispnr & ". &nbsp" & vraag & "<br/></label>") 
      response.write("<label class='error'></label>") 
     else 
      'display vraag 
      response.write("<fieldset class='form-question'>") 
      response.write("<legend>" & vraagdispnr & ". &nbsp" & vraag & "</legend>") 
      response.write("<label class='error'></label>") 
     end if 
     'display mogelijke antwoorden 
     add_answer vraagnr, vraagtype, req 
     response.write("</fieldset>") 
    next 

jQuery的一塊:

$(document).ready(function() { 
     $("#errmessage").hide(); 
     $("#myform").onsubmit = function (f) { 
      f.preventDefault(); 
      }; 
     $("#myform").validate({ 
      errorPlacement: function (error, element) { 
       $("#errmessage").show(); 
      error.insertBefore(element); 
       //error.appendTo($('label[div="' + $(element).attr('id') + '"]', form)); 
       //error.insertBefore(element.parent()); 
       //error.appendTo('#error'); 
       //error.insertAfter($(element).parents('label').prev($('.form-question'))); 
      }, 
      ignore: ":hidden", 
     }); 
    }); 

它看起來像這樣:

  1. 請問博士,學生繼續該項目?

沒有

  • 當時按計劃在去年的進展如何?
  • 號,項目進度落後

  • 有沒有爲即將到來的一年的計劃?
  • 沒有

  • 預期方式延遲爲即將到來的一年?
  • 沒有

  • 是此次促銷活動的進展有補充意見?
  • 所以我希望將*作爲錯​​誤消息在問題文本後面,而不是在標準的yes或no字段之前或之後。

    +0

    我們能看到你的代碼? –

    +0

    源添加@Malik –

    +0

    通過自己查出來: 我把fielderr $( 「#myForm會」)與類標籤/圖例標籤之間的跨度驗證({ errorPlacement:功能(錯誤,元素){ 忽略:「:hidden」; $(「#errmessage」)。show(); element.parents(「。form-question」)。find(「。fielderr」)。append (error); –

    回答

    0

    通過自己查出來: 我把一個跨度標籤/圖例標籤之間的帶班fielderr然後添加這jQuery代碼:

    $("#myform").validate({ 
         errorPlacement: function (error, element) { 
         ignore: ":hidden"; 
         $("#errmessage").show(); 
         element.parents(".form-question").find(".fielderr").append(error);