2011-08-25 11 views
5

मैं निम्नलिखित रूपअनुकूलित jQuery मान्यकरण संदेश और मार्कअप

<form id="myform" method="post" action="#"> 
    <div class="fields"> 
     <fieldset class="ui-widget ui-widget-content ui-corner-all"> 
      <legend class="ui-widget ui-widget-header ui-corner-all">&nbsp;Customer properties&nbsp;</legend> 
      <input type="hidden" id="CustomerID" name="CustomerID" value="${CustomerID}" /> 
      <br /> 
      <table width="100%" border="0" cellpadding="3" cellspacing="1"> 
      <tr valign="top"> 
       <td><label for="Code">Customer Code</label></td> 
       <td><input type="text" id="Code" name="Code" value="${Code}" class="ui-widget-content" style="width:140px" /></td> 
      </tr> 
      <tr valign="top"> 
       <td><label for="CustomerName">Name</label></td> 
       <td><textarea id="CustomerName" rows="2" cols="40" name="CustomerName" class="ui-widget-content">${CustomerName}</textarea></td> 
      </tr> 
      ... 
      </table> 
      <br /> 
     </fieldset> 
    </div> 
    <div style="text-align:right; padding: 8px 0px 0px 0px;"> 
     <input type="submit" id="btnSave" name="btnSave" class="button" value="Save" /> 
     <input type="button" id="btnCancel" name="btnCancel" class="button" value="Cancel" /> 
    </div> 
</form> 

जिस पर मैं jQuery मान्यता निम्नलिखित कोड

$('#myform').validate({ 
    errorElement: 'span', 
    errorPlacement: function (error, element) { 
     error.html($('<img alt="" src="error.png" />').attr('title', error.html())).insertAfter(element); 
    }, 
    rules: { 
     ... 
    }, 
    messages: { 
     ... 
    }, 
    submitHandler: function (form) { 
     saveCustomer(form); 
    } 
}); 

इस कोड को बहुत अच्छी पहली बार निष्पादित किया जा रहा है काम करता है के माध्यम से (लागू है जब मैं सबमिट बटन दबाता हूं) और इनपुट इनपुट के तुरंत बाद छवि नियमित रूप से दिखाई देती है। वैसे भी जब मैं दूसरे संपादित करने के लिए टैब संपादित करता हूं तो छवि गायब हो जाती है और मैं फिर से संपादन के चारों ओर पाठ देख सकता हूं। क्या मैं गलत हूं?

उत्तर

9

here देखते हैं - आप अपने कस्टम त्रुटि प्रदर्शन,
invalidHandler विधि (मुझे लगता है कि) समूह संदेशों हिस्सा निष्क्रिय करने के लिए बनाने के लिए errorElement विकल्प का उपयोग कर सकते हैं।
आप कैसे त्रुटि प्रदर्शित किया जाता है (उदाहरण के अपरीक्षित) को नियंत्रित करने के errorPlacement उपयोग कर सकते हैं:

$("#myform").validate({ 
    errorPlacement: function(error, element) { 
     element.append('<img source=".." title="' + error.text() +'" />'); 
    } 
}) 

इस एक टूलटिप त्रुटि संदेश से युक्त के साथ एक छवि बनाना चाहिए।

+0

आपके उत्तर के लिए धन्यवाद। क्या आप कृपया कोड नमूना दिखा सकते हैं या लिंक कर सकते हैं? – Lorenzo

+0

http://mitchlabrador.com/2010/11/05/how-to-change-the-way-jquery-validate-handles-error-messages/ –

+0

ठीक है। मैं समझने में सक्षम हूं कि त्रुटि प्लेसमेंट फ़ंक्शन कैसे काम करता है। मैं अभी भी समझ नहीं पा रहा हूं कि छवि तत्व बनाने के लिए अन्य विकल्पों का उपयोग कैसे करें :( – Lorenzo

संबंधित मुद्दे