【问题标题】:Stop JQuery Validation once submitting form提交表单后停止 JQuery 验证
【发布时间】:2013-07-26 17:18:10
【问题描述】:

如何在使用后不触发对以下表单的验证

javascript: form.action

我有 2 个提交按钮,第一个必须使用 sellitem1.php 作为操作而不使用 JQuery VALIDATION,但第二个必须验证表单并使用表单操作中列出的操作:upload.php

第二个按钮运行良好:)

<form method="post" name="UploadForm" id="UploadForm"
action="upload.php" enctype="multipart/form-data" >

<input  type="text" class="button_date"  name="price" id="price"
value="" size="15" />

<input class="button2" style="border-right:none; font-size:13px;"
name="Back" id="Back" type="submit"  value="Back" onclick="javascript:
form.action='sellitem1.php';"/>

<input class="button2" style="border-right:none; font-size:13px;"
name="List Item" id="submit" type="submit" value="List Item"
onClick="removeFocus()"/> </form>


<script>

$( "#UploadForm" ).validate({
       errorLabelContainer: "#messageBox",   wrapper: "td",
       rules: {  price: {
    required: true,
    number: true,
    range: [1.00, 500000.00]

    }   } }); </script>

【问题讨论】:

  • 您可以让提交按钮调用javascript函数进行验证。所以按钮 1 调用 validate 但按钮 2 只是进行常规提交
  • 但是第一个和第二个提交按钮必须使用不同的操作页面,你能提供例子吗?
  • 一旦按下第一个按钮,它就会一直调用验证,第二个按钮就可以了。请记住,两个按钮必须有不同的操作
  • 如果按钮类型为 SUBMIT 则立即触发验证
  • cancel 类添加到不应验证的按钮。 stackoverflow.com/questions/203844

标签: php javascript jquery forms validation


【解决方案1】:

类似下面的东西应该可以工作。所以基本上你会在你想要运行验证的按钮上调用click 事件上的validate()

// Javascript

$('#Back').click(function (evt) {
    $('#UploadForm').attr('action', 'sellitem1.php');
});

$('#submit').click(function (evt) {
    removeFocus();
    return $("#UploadForm").validate({
        errorLabelContainer: "#messageBox",
        wrapper: "td",
        rules: {
            price: {
                required: true,
                number: true,
                range: [1.00, 500000.00]
            }
        }
    });
});

最好不要内嵌 javascript/css 代码。您可以按如下方式更新您的 html(请注意,我只删除了您的 onclick 属性而不是样式):

<form method="post" name="UploadForm" id="UploadForm"
action="upload.php" enctype="multipart/form-data" >

    <input  type="text" class="button_date"  name="price" id="price"
value="" size="15" />

    <input class="button2" style="border-right:none; font-size:13px;"
name="Back" id="Back" type="submit"  value="Back" />

    <input class="button2" style="border-right:none; font-size:13px;"
name="List Item" id="submit" type="submit" value="List Item" /> 
</form>

更新:这里是展示它是如何工作的小提琴http://jsfiddle.net/M3LRd/

【讨论】:

  • 它不起作用,没有验证并且总是重定向到curentitems.php :(
  • 这是解决方案向不应验证的按钮添加一个取消类。 stackoverflow.com/questions/203844
  • @user2511459,我在这个答案中添加了小提琴作为演示代码。但是,是的,class="cancel" 也可以。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 1970-01-01
相关资源
最近更新 更多