2012-12-05 16 views
9

प्रस्तुत मैं उपयोग कर रहा हूँ ajaxForm प्लगइन hereबदलने से पहले में डेटा

पाया अब मैं एक साथ उपयोगकर्ता नाम & पासवर्ड

मेरे आवश्यकता पासवर्ड का मान बदलने के लिए है फ़ॉर्म दिया गया है फ़ील्ड में md5 इसलिए इसके लिए मैं प्लगइन का उपयोग कर रहा हूं here

ताकि के लिए मैं इस तरह उपयोग कर रहा हूँ:

$('myForm').ajaxForm({ 

    url : 'pathtosend', 
    type : 'post', 
    beforeSubmit : function(arr, $form, options){ 
     $('#password').val($.md5($('#password').val())); 
    }, 
    success : function(response, statusText, xhr, $form){ 
     alert('blah blah'); 
    } 
}); 

अब जब मैं जावा सर्वलेट कोड में पासवर्ड का मूल्य प्रिंट यह एक है कि मैं पारित कर दिया है और मैं के रूप में मूल्य का md5 से पता चलता किया।

जब मैं के क्लिक करने के लिए कोडिंग बदल में सबमिट बटन और प्रस्तुत अपनी किया तो मेरे सवाल का क्या के महत्व beforeSubmit जब डेटा बदल नहीं जा रहा है है जोड़ तोड़ प्रतिबिंबित प्रस्तुत

उत्तर

15

आप इस के लिए अपने beforeSubmit समारोह को बदलने की जरूरत:

beforeSubmit : function(arr, $form, options){ 
     arr.push({name:'hashed-password', value:$.md5($('#password').val())}) 
    }, 

तो फिर तुम टुकड़ों में बांटा-पी का उपयोग कर सकते अपने सर्वलेट में assword चर।

इसका कारण यह है कि टेक्स्ट इनपुट से मूल्य पहले ही अजाक्सफॉर्म द्वारा संसाधित किया गया है और एआर सरणी में संग्रहीत किया गया है।

संपादित करें: यदि आप प्लेन पासवर्ड भेजने के लिए नहीं करना चाहते हैं, आप अपने मूल विधि का उपयोग करें, लेकिन बदल सकते हैं beforeSubmit : function(arr, $form, options){ को beforeSerialize : function() {

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