Asp.net “提交”按钮不会触发服务器端代码
问题说明了一切。我有一个使用jquery的asp.net页面。首先,当我单击submit按钮时,它会显示对象预期的错误。我运行了firebug,它显示了“return validate()”函数的错误,该函数是在客户端单击按钮时添加的Asp.net “提交”按钮不会触发服务器端代码,asp.net,jquery,validation,submit,breakpoints,Asp.net,Jquery,Validation,Submit,Breakpoints,问题说明了一切。我有一个使用jquery的asp.net页面。首先,当我单击submit按钮时,它会显示对象预期的错误。我运行了firebug,它显示了“return validate()”函数的错误,该函数是在客户端单击按钮时添加的 <script type="text/javascript"> $(document).ready(function() { // add custom validation methods $.valida
<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>
$(文档).ready(函数(){
//添加自定义验证方法
$.validator.addMethod('phone',函数(值、el、参数){
返回此.optional(el)| |/^[0-9,+,(),]{1,}(,[0-9]+){0,}$/.test(值);
},“请输入有效的电话号码”);
$.validator.addMethod('numbers',function(value,el,params){
返回此.optional(el)| |/^[0-9]+$/.test(value);
},“无效条目。只允许使用数字。”);
$.validator.addMethod('domainurl',函数(值、el、参数){
返回此选项。可选(el)| |/^(http:\/(?:www\)?[a-zA-Z0-9]+(?:(?:\-|u)[a-zA-Z0-9]+)*(?:\.[a-zA-Z0-9]+(?:\-|[a-zA-Z0-9]+)*)*。[a-zA-Z]{2,4}(?:/)$/。测试(值);
},“请输入有效的域url”);
$.validator.addMethod('selectone',函数(值,元素){
返回此.optional(element)| |(value.indexOf(“none”)=-1);
},“请选择一个选项。”);
$(“#表格1”)。验证({
是的,
规则:{
txt_名称:{
要求:正确,
最小长度:2
},
txt_cmp:{
要求:正确,
最小长度:2
},
txt_tel1:{
电话:是的,
要求:正确,
最小长度:3
},
txt_tel2:{
电话:是的,
必填项:false,
最小长度:3
},
txt_mob:{
电话:是的,
必填项:false,
最小长度:9
},
txt_电子邮件:{
要求:正确,
电子邮件:真的
},
txt_域名:{
要求:正确,
域名URL:true
},
radiobt_域:“必需”,
ddl_YR电子邮件:{
要求:正确,
selectone:对
},
ddl_电子邮件:{
要求:正确,
selectone:对
},
txt_空间:{
要求:正确,
数字:对
},
txt_calfr:{
必填项:true
},
txt_calto:{
必填项:true
}
},
信息:{
txt_名称:{
必填项:“此字段为必填项”,
minLength:“请输入有效名称”
},
txt_cmp:{
必填项:“此字段为必填项”,
minLength:“请输入有效的公司名称”
},
txt_tel1:{
必填项:“此字段为必填项”,
minLength:“请输入有效的电话号码”
},
txt_tel2:{
minLength:“请输入有效的电话号码”
},
txt_mob:{
minLength:“请输入有效的手机号码”
},
txt_电子邮件:{
电子邮件:“请输入有效的电子邮件地址”,
必填:“此字段为必填字段”
},
txt_域名:{
必填:“此字段为必填字段”
},
radiobt_域:“选择托管类型”
}
});
});
我删除了它,现在提交按钮仍然不起作用。服务器端代码未执行。它没有显示任何错误。我想不出是什么问题
我在这里发布了代码:查看代码后编辑:。即使在您删除按钮中对Validate()的调用后,表单仍没有提交的原因是因为您有debug:true,这会阻止表单提交。将其更改为debug:false,它将提交
$("#form1").validate({
debug: false,
.....
我相信您的问题是表单提交不起作用,因为您有一个javascript解析错误。您可以检查Firebug控制台,查看页面加载时是否出现任何错误。任何javascript错误都可能中断表单提交过程 看看你之前的问题,我猜你可能没有包括验证插件,因为没有定义验证。此错误可能仍在发生,页面上的其余javascript(包括所有ASP.NET添加的javascript)可能无法解析 您是否有用于验证插件的脚本?它看起来像这样:
<script type="text/javascript" src="..../jquery.validate.js"></script>
这个问题太模糊了。我同意Bobby的观点,尽可能多地提供代码。首先要检查的是,“服务器是否收到了请求?”我认为服务器没有收到请求。我添加了断点,似乎服务器端的按钮单击命令没有触发。对于代码:第一:这是网页还是asp.net mvc,您也需要使用您正在使用的代码进行更新;你的提交按钮,它调用的代码,TStamper,这是一个网页。我不明白你关于更新的声明的第二部分。请详细说明。编辑您的问题以包含代码(或至少包括示例):这样我们可以看到错误所在