2017-04-02 115 views
1

我有一个表格,其中有几个字段都在类别Contact中,它们具有共同的标题。当字段为空时,在表单提交时将元素添加到元素

我需要该标题在用户点击提交并填写任何联系人字段时变成红色。这些字段(名字,姓氏,公司,Marketing_Phone,电子邮件)在提交空时已添加error类。

这些字段都在类别wrap_contact的标签Contact Information *。此标签不提供收到类error提交。这是我需要补充的。我给了该标签的编号为label2。因此,如果我的话,如果first_name,last_name,company,Marketing_phone或email在提交时为空,那么label2已添加error类。

我试图添加下面的代码,但它没有工作。

$("#pardot-form").submit(function(event) { 
    var someElements = document.querySelector("p.error,input[name=263882_11763pi_263882_11763]}"); 

    if (someElements !== "") { 
     document.getElementById('p.label2').addClass = 'error'; 
    } 

}; 

此表单在线可见http://link.rubiconglobal.com/l/263882/2017-03-24/7ssj

回答

0

问题是您的submit仍然出现,页面重新加载。您需要添加event.preventDefault()event.stopPropagation()以防止submit动作发生并重新加载页面。另外,因为你使用的是jQuery,你可以简单地使用return false这两者都可以。请参阅:https://stackoverflow.com/a/1357151/1736092

+0

()'不需要'stopPropagation在提交事件 – charlietfl

+0

如果我们做一个stopPropogation,它是如何允许一旦所有必填字段已满,最终的行动是? –

+0

也许我需要澄清。表单提交,当它发生时,错误类自动添加到任何不验证的字段。所以。我需要if语句,如果任何联系人字段上有类错误,那么label2类需要添加错误。 –

0

如果x元素有一个类,然后添加类为y元素:

 <script> 
    if($('.first_name, .last_name, .company, .zip, .Marketing_Phone, .email').hasClass('error') === true) 
    { 
    $('p#label2').addClass('label2error'); 
    } 
    </script> 
相关问题