【问题标题】:jquery validate: IF form valid then show submit buttonjquery validate:如果表单有效,则显示提交按钮
【发布时间】:2012-10-23 13:20:46
【问题描述】:

我有一个基本的空表单,希望只显示一次提交按钮:

  1. 数据已输入到表单中。
  2. 所有必填/有效字段均正确。

在表单正确后淡入提交按钮之前。

快速 jsfiddle:http://jsfiddle.net/36JZL/

<form action="#" method="post">
    <label>Name</label>
    <input type="text" name="name" class="required" value="" />

    <label>Email</label>
    <input type="email" name="email" class="required email" value="" />

    <label>Message</label>
    <textarea name="message" class="required"></textarea>

    <input type="submit" name="save" value="Save" class="hide" />
</form>

$('form').validate();

【问题讨论】:

  • 那么问题出在哪里?验证字段,如果通过则淡入按钮....
  • 没错,但是如何使用 jquery 验证?
  • 我检查了建议使用submitHandler 的文档。但是在这里面我如何检查表单是否有效以显示/隐藏按钮。
  • 我不认为 submitHandler 会工作,因为您想在提交之前对其进行验证,以便您可以显示按钮。看我的回答。
  • 你显然不能使用提交不可见触发的提交事件。而是在每个字段上使用 keyup 事件

标签: jquery jquery-validate


【解决方案1】:

按照 Alan Buchanan 的回答,这可能有效:

$('#yourform input,#yourform textarea').bind('oninput', function(){

    if ($('#yourform').valid()) $('#submitButton').fadeIn();

});

- Notes and reference.

【讨论】:

  • 非常棒,谢谢。只是很惊讶没有一种扩展 jquery 验证方法的方法,它必须已经有一些非常相似的东西来检查焦点/等上的表单字段
【解决方案2】:

建议您在表单输入的更改事件上触发一些 javascript,并检查每个是否通过您的验证。如果确实如此,则淡入按钮。

【讨论】:

    【解决方案3】:

    jQuery 中没有执行此操作的函数。您需要将一个事件绑定到此表单的提交或每个字段,并验证必填字段的文本长度,如果都大于 0。然后您可以提交表单或淡入提交按钮。

    当您在表单中的任一字段中按回车键时,将触发 submnit 事件。

    看看这个链接。

    http://api.jquery.com/submit/

    【讨论】:

    • 也许是因为它与 OP 所指的 jQuery validate 无关。 PS:我没有投反对票
    猜你喜欢
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多