다음 상황에 문제가 있습니다.ascx에서 jquery 함수가 작동하지 않습니다.
검색 조건에 대한 제출 버튼이 포함 된 ascx가 있는데 사이트 전체에서 사용했던 js 파일에서 유효성 검사 기능을 호출하려고합니다 (이것은 처음으로 ascx).
는 지금은 그냥이 시도했습니다 : 이미 그것을 수행하는 방화범의 게시물을보고하고 같은<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jsAdmin_Generic_SystemValidation.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".submitBtn").click(function (e) {
alert("test");
alert($.Validate());
alert("test 2");
});
});
</script>
파일이 올바르게 참조되고있다.
이
함수입니다 : 처음 엔 얻고 있었다 지금jQuery.extend({
Validate: function() {
var requiredElements = $('.required').length; // Get the number of elements with class required
$('.required').each(function() {
// If value of textbox is empty and have not
// yet been validated then validate all required
// elements. i.e.
if (($(this).val() == "") || ($(this).hasClass("validationError")) || ($(this).hasClass("validationAlert")) || ($(this).hasClass("validationOk") == false)) {
validate($(this));
}
});
if ($('.validationOk').length == requiredElements) {
return true;
} else {
return false;
}
},
// Another extended function, this function
// is used for pages with the edit-in-place
// feature implemented.
validateElement: function (obj) {
var elementId = obj.attr("id"); // id of the button clicked.
var flag = 0;
if (elementId.toLowerCase() == "paymentmethodid") {
// Case elementId = paymentMethodId then check all the
// elements with css class starting with openStorage
var requiredElements = $(document).find("input[class*='openStorage']").length; // Get the number of elements with css class starting with openStorage
// Loop through all the elements with css class containing
// openStorage abd validate each element.
$(document).find("input[class*='openStorage']").each(function() {
if (($(this).val() == "") || ($(this).hasClass("validationError")) || ($(this).hasClass("validationAlert"))) {
validate($(this));
}
if ($(this).hasClass("validationOk")) {
flag++;
} else if (($(this).hasClass("validationError")) || ($(this).hasClass("validationAlert"))) {
flag--;
}
});
// If all elements are valid return true else return false
if (flag == requiredElements) {
return true;
} else {
return false;
}
} else if (elementId.toLowerCase() == "registeredfortax") {
if (($('.TaxRegistrationNumber').val() == "") || ($('.TaxRegistrationNumber').hasClass("validationError")) || ($('.TaxRegistrationNumber').hasClass("validationAlert"))) {
validate($('.TaxRegistrationNumber'));
}
if ($('.TaxRegistrationNumber').hasClass("validationOk")) {
return true;
} else {
return false;
}
} else {
var elementClass = "." + elementId;
if (($(elementClass).val() == "") || ($(elementClass).hasClass("validationError")) || ($(elementClass).hasClass("validationAlert")) || ($(elementClass).hasClass("validationOk") == false)) {
validate($(elementClass));
}
if ($(elementClass).hasClass("validationOk") && ($(elementClass).hasClass("required"))) {
return true;
} else if ($(elementClass).hasClass("required") == false) {
return true;
}else {
return false;
}
}
}
});
불을 지르고에서 "검증()는 함수가 아닙니다." 그 경고 테스트를 한 이후로 나는 첫 번째 경고를 받았고 아무런 오류도 없었습니다.
누구나 밝힐 수 있습니까?
감사합니다.
Validate() 함수의 전체 코드와 HTML을 게시 할 수 있습니까? 또한, $ (". submitBtn")을 호출 할 때. 내 생각에 .submitBtn 클래스가있는 앱 전체에 몇 개의 버튼이 있습니다 (.ascx의 제출 버튼 중 하나임). –
전체 유효성 검사의 코드를 추가했습니다. 이 유효성 검사를 사용하는 버튼이 많습니다. 게시 한 스크립트는 ascx이며, 다른 버튼은 중앙 자바 스크립트를 사용하고 있습니다. 먼저이 버튼을 사용하려고했습니다 : 그러나 일반 HTML 단추는 여전히 동일한 문제를 내고 있습니다. submitBtn button "/> –
나는이 줄을 보았습니다 : validate ($ (this))는 여러 번 나타나지만, 관련된 함수는 없습니다. 코드가 누락 되었습니까? IE에서 중단 점을 설정하고 확장 메소드로 실행을 따라 할 수 있습니까? –