送信ボタンはサーバー側のコードをトリガーしません
-
05-07-2019 - |
質問
質問はそれをすべて言います。私はjqueryを使用してasp.netページを持っています。最初に送信ボタンをクリックすると、オブジェクトの予想エラーが表示されます。 firebugを実行すると、ボタンのClientClickに追加された「return validate()」関数のエラーが表示されました。
<script type="text/javascript">
$(document).ready(function() {
// add custom validation methods
$.validator.addMethod('phone', function(value, el, params) {
return this.optional(el) || /^[0-9,+,(), ,]{1,}(,[0-9]+){0,}$/.test(value);
}, 'Please enter a valid phone number');
$.validator.addMethod('numbers', function(value, el, params) {
return this.optional(el) || /^[0-9]+$/.test(value);
}, 'Invalid entry. Only Numeric is allowed.');
$.validator.addMethod('domainurl', function(value, el, params) {
return this.optional(el) || /^(http\:\/\/(?:www\.)?[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*(?:\.[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*)*\.[a-zA-Z]{2,4}(?:\/)?)$/.test(value);
}, 'Please enter a valid domain url');
$.validator.addMethod('selectone', function(value, element) {
return this.optional(element) || (value.indexOf("none") == -1);
}, 'Please select an option.');
$("#form1").validate({
debug: true,
rules: {
txt_name: {
required: true,
minlength: 2
},
txt_cmp: {
required: true,
minlength: 2
},
txt_tel1: {
phone: true,
required: true,
minlength: 3
},
txt_tel2: {
phone: true,
required: false,
minlength: 3
},
txt_mob: {
phone: true,
required: false,
minlength: 9
},
txt_email: {
required: true,
email: true
},
txt_domname: {
required: true,
domainurl: true
},
radiobt_domain: "required",
ddl_yremail: {
required: true,
selectone: true
},
ddl_email: {
required: true,
selectone: true
},
txt_space: {
required: true,
numbers: true
},
txt_calfr: {
required: true
},
txt_calto: {
required: true
}
},
messages: {
txt_name: {
required: "This field is required",
minLength: "Please enter a valid name"
},
txt_cmp: {
required: "This field is required",
minLength: "Please enter a valid commpany name"
},
txt_tel1: {
required: "This field is required",
minLength: "Please enter a valid telephone number"
},
txt_tel2: {
minLength: "Please enter a valid telephone number"
},
txt_mob: {
minLength: "Please enter a valid mobile number"
},
txt_email: {
email: "Please enter a valid email address",
required: "This field is required"
},
txt_domname: {
required: "This field is required"
},
radiobt_domain: "Select the Hosting Type"
}
});
});
</script>
iはそれを削除しましたが、送信ボタンはまだ機能していません。サーバー側のコードは実行されていません。エラーは表示されていません。何が問題なのかわかりません。
ここにコードを投稿しました: object expected-jquery
解決
編集:コードを見た後。ボタンでValidate()の呼び出しを削除してもフォームが送信されない理由は、debug:trueがあるためです。これにより、フォームの送信が妨げられます。 debug:falseに変更すると送信されます。
$("#form1").validate({
debug: false,
.....
他のヒント
あなたの問題は、JavaScript解析エラーがあるためにフォーム送信が機能しないことだと思います。 Firebugコンソールをチェックして、ページの読み込み時にエラーが発生していないか確認してください。 JavaScriptエラーが発生すると、フォーム送信プロセスが中断される可能性があります。
前の質問を見ると、validateが定義されていないため、validationプラグインが含まれていない可能性があります。このエラーはまだ発生している可能性があり、ページ上の残りのJavaScript(ASP.NETに追加されたすべてのjavascriptを含む)は解析されない可能性があります。
検証プラグインのスクリプトが含まれていますか?次のようになります:
<script type="text/javascript" src="..../jquery.validate.js"></script>
所属していません StackOverflow