jQuery验证插件onclick链接

时间:2018-07-28 11:01:19

标签: javascript jquery html

我有一个使用链接提交结果的表格。 我正在使用Jquery验证插件。

如果我使用普通按钮提交表单,则可以获取表单进行验证。 如何从超链接而不是按钮调用Jquery函数。 这是我的jQuery:

<script type="text/javascript">
     $(document).ready(function () {
        $('#newsletter_form').validate({ 
            rules: {
                CONTACTS_EMAIL: {
                    required: true,
                    email: true
                },
                CONTACTS_PRIVACY_POLICY_AGREE: "required",
            },
            messages: {
                CONTACTS_PRIVACY_POLICY_AGREE: "<?php echo $FRM_ERRMSG_CONTACTS_PRIVACY_POLICY_AGREE;?>",
                CONTACTS_EMAIL: {
                  required: "<?php echo $FRM_ERRMSG_CONTACTS_EMAIL;?>",
                  email: "<?php echo $FRM_ERRMSG_CONTACTS_EMAIL_FORMAT;?>"
                }
              },
            submitHandler: function (form) { 
                form.submit();
            }
        });   
    });
 </script>

这是我的html(里面有一些php被忽略)

<form id="newsletter_form" name="newsletter_form" action="newsletter_submit.php" method="post" >
        <br>
        <div class="mc-field-group">
            <input type="text" name="CONTACTS_EMAIL" placeholder="*<?echo $EMAIL_FIELD_TEXT;?>" style="width: 280px;font-size: 20px;" /><br>
            <input type="checkbox" name="CONTACTS_PRIVACY_POLICY_AGREE"> <?echo $PRIVACY_POLICY;?> * <label for="CONTACTS_PRIVACY_POLICY_AGREE" class="error" style="display:none;"></label>

            <input type="hidden" name="CONTACTS_LANGUAGE" value="<?echo $language;?>">
            <div>
                <input type='submit' style='position:absolute;top:0;left:-9999px;width:1px;height:1px' name='newsletter_form'>
                <a style="margin-top:22px;" class="wsite-button external-link" onclick="document.getElementById('newsletter_form').submit()"> 
                <span class="wsite-button-inner"><?echo $BUTTON_TEXT;?></span></a>
            </div>
        </div>
    </form>

1 个答案:

答案 0 :(得分:1)

尝试使用jQuery触发Submit事件:

onclick="$('#commentForm').submit();"

这里有很多可以改进的地方,但这可能会解决您的核心问题。我记得很久以前就发生过这样的事情。