【问题标题】:Contact Form 7 In-Field-Labels联系表格 7 现场标签
【发布时间】:2013-06-24 08:17:01
【问题描述】:

我想知道是否有人可以帮助解决我在选择字段时表单标签不消失的问题?

我目前有一个 Wordpress 站点,我在其中使用 Contact Form 7 插件来创建表单。从那以后,我使用了一个 jQuery 代码 sn-p,我发现它可以实现一些 In-field-Labels,但是由于某种原因,当我单击字段时,标签文本不会消失?

我做错了什么?

http://alanbrandt.com/contact

请注意,我不是开发人员,如果这似乎是一个愚蠢的问题,我很抱歉。

希望有人能帮忙?

谢谢!

回答:

这里是解决方案...

jQuery(function(){
      $('#commentform')
  .on('mouseenter focus', 'input, textarea', function () {
      $(this).closest('p').find('label:first').css('opacity', 0.5)
  })
  .on('mouseleave focusout', 'input, textarea', function () {
      $(this).closest('p').find('label:first').css('opacity', 1)
  })
  .on('input', 'input', function (e) {
      var label = $(this).closest('p').find('label:first');
      e.target.value == '' ? label.show() : label.hide()
  });
});

【问题讨论】:

  • 我认为您需要将其隐藏在 onChange 事件中。尝试将这样的内容添加到您的 .js $('wpcf7-form-control').change(function(){ $(this).parent().find('label').hide(); });
  • 为了方便我们,请在此处发布您的 sn-p。

标签: javascript jquery wordpress contact-form


【解决方案1】:

试试这个,

jQuery(function(){
    jQuery('form.wpcf7-form').on('keyup','input, textarea',function(){
       jQuery(this).closest('span').prev('label').css('opacity',0);
    });
});

更新

jQuery(function(){
    jQuery('form.wpcf7-form').on('keyup','input, textarea',function(){
       var opaq=1;
       if($(this).val())
           opaq=0;// if something has written then opacity should be 0
       jQuery(this).closest('span').prev('label').css('opacity',opaq);
    });
});

【讨论】:

  • 谢谢...它工作得很好,而不是 keyup 选择时是否还有其他选项?点击?选择???再次感谢...
  • @myatix 是的,你可以使用focus,click,change events
  • 他们将opacity 改为0.5 而不是0
  • 是的,我可以看到,但除此之外还有更多内容。如果您不输入任何内容并选择另一个字段,标签也会返回吗?在您的示例中,哪个不会使标签再次可见?
  • @myatix 测试上面的答案我已经在里面做了修改。
猜你喜欢
  • 2016-01-08
  • 1970-01-01
  • 2020-06-13
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 2017-03-16
相关资源
最近更新 更多