Javascript 表格won';由于按钮',无法提交;中国的利益冲突

Javascript 表格won';由于按钮',无法提交;中国的利益冲突,javascript,html,forms,mailchimp,Javascript,Html,Forms,Mailchimp,我的网站有一个与MailChimp链接的简单表单。问题在于表单的submit按钮存在利益冲突,特别是javascript电子邮件字段验证代码 要求按钮在按钮代码中写入type=“submit”。但是如果我包含type=submit,它会阻止我的表单提交给MailChimp 这是两种形式的按钮代码。第一种是表单,它允许javascript错误验证工作,但提交给MailChimp则不起作用(注意类型) 提交表单 第二个表单没有type=“submit”,因此js验证将不起作用,但它将提交给Mail

我的网站有一个与MailChimp链接的简单表单。问题在于表单的submit按钮存在利益冲突,特别是javascript电子邮件字段验证代码 要求按钮在按钮代码中写入
type=“submit”
。但是如果我包含
type=submit
,它会阻止我的表单提交给MailChimp

这是两种形式的按钮代码。第一种是表单,它允许javascript错误验证工作,但提交给MailChimp则不起作用(注意类型)

提交表单
第二个表单没有type=“submit”,因此js验证将不起作用,但它将提交给MailChimp:

<button class='buttonmain'>Submit Form</button>
提交表单
这是完整的表格

<form id="form-signup_v1"
      name="form-signup_v1"
      method="POST"
      action="http://mysite.us10.list-manage.com/subscribe/post"
    >
    <!-- MailChimp Code -->
<input type="hidden" name="u" value="g02362223cdaf329adf5">
<input type="hidden" name="id" value="32da65235dba0">

      <div class="errorstyle">
    <div class="field">
        <div class="ui left labeled input">

            <input id="MERGE0"
                   name="MERGE0"
                   placeholder="My Email Address"
                   type="text"
                   data-validation="[EMAIL]">

            <div class="ui corner label">
                <i class="asterisk icon">*</i>
            </div>
        </div>
    </div>
</div>


<button class='buttonmain' type="submit" >Submit</button>


</form>

*
提交
下面是验证电子邮件字段的脚本。 注意它如何调用“submit”


$('#表单注册_v1')。验证({
提交:{
设置:{
inputContainer:“.field”
},
回拨:{
onBeforeSubmit:函数(节点){
myBeforeSubmitFunction(':D',':)',节点);
},
onSubmit:函数(节点){
log(“#”+node.id+”具有提交覆盖。“);
//node.submit();
}
}
},
调试:正确
});
函数myBeforeSubmitFunction(a、b、节点){
控制台日志(a,b);
$(节点).find('input:not([type=“submit”]),select,textarea').attr('readonly','true');
$(节点)。追加(“”);
}
$('prefill-signup_v1')。在('click',函数(){
var form=$(this).closest('form');
form.find('signup_v1-name').val('John Doe');
form.find('signup_v1-username').val('RocketJoe');
form.find('#signup_v1-password').val('test123');
form.find('#signup_v1-password-confirm').val('test123');
form.find('#signup_v1-email').val('test@test.test');
form.find(“#signup_v1-email-confirm”).val('test@test.test');
});
如何组合我在开始时发布的两个按钮代码表单,以便表单通过js验证并提交给MC?


非常感谢

我自己解决了这个问题,做了以下工作:

更改脚本以包括:

 function myBeforeSubmitFunction(a, b, node) {
   document.getElementById("form-signup_v1").submit();

任何人这似乎是一个简单的解决方案
<script>

    $('#form-signup_v1').validate({
        submit: {
            settings: {
                inputContainer: '.field'
            },
            callback: {
                onBeforeSubmit: function (node) {

                    myBeforeSubmitFunction(':D', ':)', node);

                },
                onSubmit: function (node) {

                    console.log('#' + node.id + ' has a submit override.');

                    //node.submit();

                }
            }
        },
        debug: true
    });

    function myBeforeSubmitFunction(a, b, node) {

        console.log(a, b);

        $(node).find('input:not([type="submit"]), select, textarea').attr('readonly', 'true');
        $(node).append('<div class="ui active loader"></div>');

    }

    $('#prefill-signup_v1').on('click', function () {

        var form = $(this).closest('form');

        form.find('#signup_v1-name').val('John Doe');
        form.find('#signup_v1-username').val('RocketJoe');
        form.find('#signup_v1-password').val('test123');
        form.find('#signup_v1-password-confirm').val('test123');
        form.find('#signup_v1-email').val('test@test.test');
        form.find('#signup_v1-email-confirm').val('test@test.test');

    });

</script> 
 function myBeforeSubmitFunction(a, b, node) {
   document.getElementById("form-signup_v1").submit();