jQuery Content Switcher (无法使联系人表单在内部工作)

jQuery Content Switcher (Can't make contact form work inside)

本文关键字:表单 联系人 在内部 工作 Content Switcher jQuery      更新时间:2023-09-26

我正在尝试使用此内容切换器。

当我将联系表单放在隐藏的div中时,它不起作用。如果我把它放在内容切换器外面,它可以工作。

我知道由于切换器 jquery 代码,没有源 html 可供获取,这就是它不起作用的原因。但我真的需要让它在切换台内工作。有什么方法可以让它工作吗?

该 HTML:

<div id="content3-content" class="message switcher-content">                
<p class="medium">Contact Form</p>
<form class="contact" id="contact">
<div class="form">
<input type="text" name="name" placeholder="Name" id="contactname" />
<input type="text" name="email" placeholder="Email" id="contactemail" />
<textarea name="message" placeholder="Message" id="contactmessage"></textarea>
<button>Send</button>
</div>
</form>
</div>

内容切换器 JS:

 /* jQuery Content Panel Switcher JS - v1.1 */
    var jcps = {};
    jcps.fader = function(speed, target, panel) {
    jcps.show(target, panel);
    if (panel == null) {panel = ''};
    $('.switcher' + panel).click(function() {
        var _contentId = '#' + $(this).attr('id') + '-content';
        var _content = $(_contentId).html();
        if (speed == 0) {
            $(target).html(_content);
        }
        else {  
            $(target).fadeToggle(speed, function()    {$(this).html(_content);}).fadeToggle(speed);
        }
    });
};
jcps.slider = function(speed, target, panel) { 
    jcps.show(target, panel);
    if (panel == null) {panel = ''};
    $('.switcher' + panel).click(function() {
        var _contentId = '#' + $(this).attr('id') + '-content';
        var _content = $(_contentId).html();
        if (speed == 0) {
            $(target).html(_content);
        }
        else {  
            $(target).slideToggle(speed, function(){$(this).html(_content);}).slideToggle(speed);
        }
    });
};
jcps.show = function (target, panel) {
$('.show').each(function() {
    if (panel == null) {
        $(target).append($(this).html() + '<br/>');
    }
    else {
        var trimPanel = panel.replace('.', '');
        if ($(this).hasClass(trimPanel) == true){$(target).append($(this).html() + '<br/>');}
    }
});
}

这是一个小提琴,这就是你想要的吗?

<a href="#" id="content1" class="switcher">Content 1</a> 
<a href="#" id="content2" class="switcher">Content 2</a>
<a href="#" id="content3" class="switcher">Content 3</a>
<div id="switcher-panel"></div>
<div id="content1-content" class="switcher-content show">Content 1</div>
<div id="content2-content" class="switcher-content">Content 2</div>
<div id="content3-content" class="switcher-content">                
  <p class="medium">Contact Form</p>
  <form class="contact" id="contact">
    <input type="text" name="name" placeholder="Name" id="contactname" />
    <input type="text" name="email" placeholder="Email" id="contactemail" />
    <textarea name="message" placeholder="Message" id="contactmessage"></textarea>
    <button>Send</button>
  </form>
</div>

#switcher-panel {
  padding-top: 25px;
}
#content1-content,
#content2-content,
#content3-content {
  display: none;
}
form {
  width: 350px;
}
input[type="text"] {
  float: left;
  width: 220px;
  margin-bottom: 10px;
}
textarea {
  float: left;
  width: 218px;
  height: 100px;
  margin-bottom: 10px;
}
button {
  float: left;
  clear: left;
}