मुझे यह परीक्षण करने की आवश्यकता है कि क्या किसी फॉर्म का मूल्य onsubmit
एक फ़ंक्शन है। प्रारूप आमतौर पर है onsubmit="return valid();"
। क्या यह बताने का कोई तरीका है कि क्या यह एक फ़ंक्शन है, और यदि यह कॉल करने योग्य है? टाइपोफ़ का उपयोग करना केवल यह बताता है कि यह एक स्ट्रिंग है, जो मुझे बहुत मदद नहीं करता है।
संपादित करें : निश्चित रूप से, मैं समझता हूं कि "वापसी वैध ();" एक तार है। मैंने इसे replace
"मान्य ();", और यहां तक कि "मान्य ()" के लिए निर्धारित किया है। मैं जानना चाहता हूं कि क्या उनमें से कोई एक फ़ंक्शन है।
संपादित करें : यहाँ कुछ कोड है, जो मेरी समस्या को समझाने में मदद कर सकते हैं:
$("a.button").parents("form").submit(function() {
var submit_function = $("a.button").parents("form").attr("onsubmit");
if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) {
return eval(submit_function.replace(/return /,""));
} else {
alert("onSubmit is not a function.\n\nIs the script included?"); return false;
}
} );
EDIT 2 : यहां नया कोड है। ऐसा लगता है कि मुझे अभी भी एक इवैल का उपयोग करना है, क्योंकि कॉलिंग फॉर्म.सुमिट () मौजूदा ऑनूबमिट्स को फायर नहीं करता है।
var formObj = $("a.button").parents("form");
formObj.submit(function() {
if ( formObj[0].onsubmit && typeof( formObj.onsubmit ) == 'function' ) {
return eval(formObj.attr("onsubmit").replace(/return /,""));
} else {
alert("onSubmit is not a function.\n\nIs the script included?");
return false;
}
} );
संभवत: यह बेहतर करने के लिए सुझाव?