<script type="text/javascript">
<!--
$(document).ready(function() {
$("#form1").validate({
rules: {
budget: {
required: true,
minlength:3
} ,
duration: {
required: true,
digits:true
},
town: {
required: true,
minlength:2
},
content: {
required: true,
minlength:300
}
},
messages: {
}
});
});
-->
</script>
2つのjqueryファイルが含まれています。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="../common/jquery.validate.js"></script>
含まれています。組み込みには何も問題はありません。
エラーメッセージが表示されました
$( "#form1")。validateは関数ではありません
私はこの非常にイライラするエラーに遭遇しましたが、オンラインで実行可能な回答がないため、1時間の大半を失いました。 Firebugで、jQueryと検証の両方でCDNにヒットしていることを確認しました。
最後に、これを変更します:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>
これに:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
必要なのはそれだけでした。
これと同じ問題がありました。ページ上でjQuery JavaScriptファイルを複数回ロードしていることがわかりました。これは、ページ(または、私の場合はJSP)が含まれていたためです。 jQuery jsファイルへの重複参照を削除すると、このエラーはなくなりました。
私は同じ問題を抱えていました。はい、jqueryを最初に含め、次にjquery validateスクリプトを含めました。何が悪いのか分かりませんでした。移動した検証URLを使用していたことがわかりました。私はこれを次のようにして解決しました。
私の状況では、 http: //rocketsquared.com/wiki/Plugins/Validation )。
そのリンク(http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js)が http://view.jquery.com/trunk/pluginsに移動したことがわかります/validate/jquery.validate.js (Webサーバーではなくローカルでファイルをロードしたときに、Firebugからこれが通知されました)。
注:MicrosoftのCDNリンクも使用しようとしましたが、正しいURLでブラウザーにjavascriptファイルをロードしようとすると失敗しました。CDNサイトで奇妙な問題が発生していました。
最新の http://ajax.Microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.js を使用して、検証を取得するためにMicrosoftのCDNのいずれかを使用する必要があります。ファイル。
同じ問題がありました。検証されたHTML&_name="email"
_から_<input />
_属性が欠落していることがわかりました。 positive HTMLが有効であることを常に検証します。追加した後、validate()
は完全に機能しました。
プロキシを使用しているかどうかを確認します。
Mozilla Firefoxでこの問題が発生しました。Firefox自体に関連する問題だと思いました。後で、プロキシサーバーを使用していることがわかりました。プロキシをオフにすると、すべてがうまくいきました。
JQueryが$変数を使用しており、別のJavaScriptフレームワークではないことを確認してください。
Doctypeを確認します。HTMLを検証します。ブラウザが奇抜なモードで表示されない場合や、不正な形式のHTMLを検出する場合があります。
また、jquery.validate.jsファイルが正しいことを確認してください。
以下からダウンロードできます。
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
問題に対する私の解決策:フッターに<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
おそらく、ブラウザは最初に検証スクリプトをダウンロードし、次にjQueryをダウンロードしました。 jQueryをロードする前に検証スクリプトをダウンロードすると、エラーが発生します。これは、firebugなどのツールを使用して確認できます。
これを試して:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
function LoadValidade() {
var a = false;
try {
var teste = $('*');
if(teste == null)
throw 1;
} catch (e) {
a = true;
}
if (a){
setTimeout(LoadValidade, 300);
return;
}
var validadeScript = document.createElement("script");
validadeScript.src = "../common/jquery.validate.js";
$('head')[0].appendChild(validadeScript);
}
setTimeout(LoadValidade, 300);
</script>
私の場合、ドキュメントの準備機能の外に検証部分を移動しましたが、うまく機能します。私はそれがあなたのために働くことを願っています...
$(document).ready(function () {
// paste validate function outside of the document ready function...
});
$('#form1').validate({
rules: {
English_Name: { required: true, minlength: 3 },
Arabic_Name: { required: true, minlength: 3 },
latitude: { required: true, min: 16, max: 32, number: true },
longitude: { required: true, min: 32, max: 52, number: true },
EmployeeID: { required: true },
PaymentTypeID: { required: true },
BusinessTypeID: { required: true },
SalesTypeID: { required: true },
OutletLength: { required: true },
OutletWidth: { required: true },
CONTACT_PERSON: { required: true },
MOBILE_NO: { required: true, minlength: 9, maxlength: 13, digits: true },
TRADE_LIC_DATE: { dateValidation: true },
CreditLimit: { min: 0, max: 2000000 },
CreditPeriod: { min: 0, max: 365 },
EMAIL_ADDRESS: { email: true },
BusinessClassID: { required: true },
CustomerClassificationID: { required: true },
LicenseTypeID: { required: true }
},
message: {
English_Name: {
required: ''
},
ToDate: {
required: ''
}
},
submitHandler: function (form) { // for demo
$.ajax({
type: 'POST',
url: '/sfa/Verification/SaveDataInDatabase',
data: $('form').serialize(),
beforeSend: function () {
$('.submitBtn').attr("disabled", "disabled");
$('.modal-body').css('opacity', '.5');
},
success: function (msg) {
$("#form1").trigger('reset');
$('.modal').modal('hide');
$('.submitBtn').removeAttr("disabled");
$('.modal-body').css('opacity', '');
}
});
}
});
馬鹿げているかもしれませんが、インラインスクリプトがスクリプトタグを含めた後であることを確認してください。
リンクがある場合、問題の内容を確認できますが、いくつか質問と確認事項があります。
また、jQueryの取得にGoogle CDNを使用する場合は、検証ファイルの取得にもMicrosoftのCDNを使用できます。これらのURLはいずれも機能します。
私はこの問題を抱えていました。jqueryURLは有効で、すべてが正常に見え、検証はまだ機能していました。 CTL + F5をハードリフレッシュすると、Chromeでエラーがなくなりました。