【问题标题】:How do I target and add a class to the textarea in contact7 form?如何在contact 7 form中定位并添加一个类到textarea?
【发布时间】:2019-01-17 01:10:08
【问题描述】:

我目前正在设计一个contact7 表单的样式并且遇到了一个小问题,因为我使用的jquery sn-p(我是javascript/jquery 新手)只影响输入而不影响文本区域。出于某种原因,contact7 的文本部分调用了一个输入,但 textarea 没有,它只使用 textarea。 input 和 textarea 都是 cf7 自动生成的。

现在我的文本和电子邮件字段正在按预期工作,并且正在尝试弄清楚如何向文本区域添加和删除类。如前所述,我是新手,因此将不胜感激。

<script>
    jQuery(function($) {
        $('input').focus(function(){
            $(this).parents('.form-label-outer').addClass('focused');
        });

        $('input').blur(function(){
            var inputValue = $(this).val();
            if ( inputValue == "" ) {
                $(this).removeClass('filled');
                $(this).parents('.form-label-outer').removeClass('focused');  
            } else {
                $(this).addClass('filled');
            }
        })
    });
</script>

<form action="/contact/?preview_id=8&amp;preview_nonce=1ac0cc6b7e&amp;_thumbnail_id=-1&amp;preview=true#wpcf7-f28580-p8-o4" method="post" class="wpcf7-form" novalidate="novalidate">
<div style="display: none;">
<input type="hidden" name="_wpcf7" value="28580">
<input type="hidden" name="_wpcf7_version" value="5.1.1">
<input type="hidden" name="_wpcf7_locale" value="en_US">
<input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f28580-p8-o4">
<input type="hidden" name="_wpcf7_container_post" value="8">
<input type="hidden" name="g-recaptcha-response" value="">
</div>
<div class="form-group">
      <label class="form-label-outer"><span class="form-label">What is your name?</span> <span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false"></span> </label> /* Event triggered on input (input automatically generated by cf7) */
    </div>
<div class="form-group">
      <label class="form-label-outer"><span class="form-label">What is your email?</span><span class="wpcf7-form-control-wrap your-email"><input type="email" name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" aria-invalid="false"></span></label> /* Event triggered on input (input automatically generated by cf7) */
    </div>
<div class="form-group">
      <span class="wpcf7-form-control-wrap your-message"><textarea name="your-message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea" aria-invalid="false"></textarea></span> /* Need to trigger event on textarea (textarea automatically generated by cf7) */
    </div>
<p><input type="submit" value="Send" class="wpcf7-form-control wpcf7-submit"><span class="ajax-loader"></span></p>
<div class="wpcf7-response-output wpcf7-display-none"></div></form>

我想要实现的是在 textarea 中添加和减去上述类。

【问题讨论】:

    标签: javascript jquery contact-form-7


    【解决方案1】:

    您要查找的选择器是$('input, textarea')

    【讨论】:

    • 如果我按照建议或单独将选择器添加到一起,我将无法在输入区域中输入内容。 jquery 也被 nit 触发。还有其他想法吗?
    【解决方案2】:

    我认为您也想将相同的内容应用于文本区域,即焦点上您需要删除 form-label-outer 类并类似地添加 focused 类您还需要对模糊执行一些操作。我建议您为输入和文本区域保留一个通用类,并在上述函数中传递该类。

    您可以单独为文本区域创建一个 id,然后将该 id 传递给函数。

    确保输入或文本区域的父级具有 form-label-outer 类,否则它将不起作用。

    【讨论】:

    • 感谢您的输入,不幸的是 textarea 和输入是由 cf7 自动生成的,所以我无法更改 id。如果有帮助,我已经添加了联系表单的源代码。
    猜你喜欢
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2020-02-13
    • 2021-04-29
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多