为了账号安全,请及时绑定邮箱和手机立即绑定

type=submit 时有用,type="button"时不生效啊

有没有什么办法解决,这个 validate插件。一般的AJAX都是通过 type="button" 传输的

正在回答

3 回答

一个表单中必须有一个submit,用来提交表单数据,后台的验证在提交时就根据你所设定的$("#form1").validate,这个进行验证,并出现相应的提示信息。

如果改成button,也是可以的,但没必要吧,自己给这个btn绑定一个事件,来进行验证,效果一样,但submit是提交整个表单的数据。

至于后台验证?是指这个WEB端的验证,还是PHP那里的验证呢?如果是前者,简单的话使用submitHandler,使用AJAX,如果是PHP那里的话,咱们就约定好JSON数据格式就好了。


0 回复 有任何疑惑可以回复我~
#1

underfineded 提问者

非常感谢!
2016-06-09 回复 有任何疑惑可以回复我~
#2

underfineded 提问者

用 button是为了AJAX提交, 使用$.post(),进行后台验证!但是 validate这个插件就没效果了 但是用了 submit之后就直接提交了!
2016-06-10 回复 有任何疑惑可以回复我~
#3

慕丝4635624 回复 underfineded 提问者

btn绑定的事件与触发的动作的有关,如果你绑定的是点击事件,那么点击时就生效了,他不属于表单特有的事件,而是在任何地方都可以用,如果想使用button,可以试试在btn事件中在绑定一个自己定义的validate,(怎么使用可以见老师讲解的高级API使用),在点击按钮时触发
2016-06-11 回复 有任何疑惑可以回复我~
#4

underfineded 提问者 回复 慕丝4635624

谢谢你这么耐心的回答!按你说的和一些查阅的资料,用return false 或submitHandler方法可以做到
2016-06-11 回复 有任何疑惑可以回复我~
查看1条回复

<script type="text/javascript">
       $(function () {
           $("#form1").validate({
               rules: {
                   UserName: { required: true, minlength: 3, maxlength: 18, remote: "/Home/CheckUserName" },
                   Email: { required: true,email:true },
                   UserPassword: { required: true ,minlength: 6 },
                   Mobile: { required: true, number:true },
                   IdCard: { required: true,isIdCardNo: true },
                   Age: { required: true ,number:true,min:1,max:100 }
               },
               messages:{
                   UserName: {
                       required: "请输入用户名!",
                       minlength: "用户名长度最少需要3位!",
                       maxlength: "用户名长度最大不能超过18位!",
                       remote: "此用户名已存在!"
                    },
                   Email: {
                       required: "请填写邮箱",
                       email: "请输入正确的邮箱格式"
                   },
                   UserPassword: {
                       required: "请填写你的密码!",
                       minlength: "密码长度不能小于6位"
                   },
                   Mobile: {
                       required: "请填写你的手机号码",
                       number:"手机号码只能为数字"
                    },
                   IdCard: {
                       required: "请输入身份证号码!",
                       isIdCardNo:"请输入正确的身份证号码!"
                   },
                   Age: {
                       required: "请输入年龄!",
                       number: "请输入数字",
                       min: "年龄不能小于1",
                       max: "年龄不能大于100"
                   }
               },                /*错误提示位置*/
               errorPlacement: function (error, element) {
                   error.appendTo(element.parent());
               }
           })
       })    </script></head><body>
   <form id="form1" method="post" action="">
       <div>
       <p> 用户名:<input type="text" value="" name="UserName" /> </p>
       <p> 密码:<input type="password" value="" name="UserPassword" /> </p>
       <p> 邮箱:<input type="text" value="" name="Email" /> </p>
       <p> 手机号码:<input type="text" value="" name="Mobile" /> </p>
       <p> 身份证号码:<input type="text" value="" name="IdCard" /> </p>
       <p> 年龄:<input type="text" value="" name="Age" /> </p>
       <p> <input type="submit" id="btn1" value="提交"></p>
       </div>
   </form></body>


-------------

这边的p> <input type="submit" id="btn1" value="提交"></p>  type="submit"可以改成type="button"吗?submit 就直接提交了。没法进行后台验证了

0 回复 有任何疑惑可以回复我~

代码放出来

0 回复 有任何疑惑可以回复我~
#1

underfineded 提问者

看下面的代码
2016-06-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

type=submit 时有用,type="button"时不生效啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信