![](/img/trans.png)
[英]Dynamically populate Contact Form 7 dropdown field with content from ACF field
[英]Wordpress Contact Form 7 dynamically autoselect dropdown field based on referral url
我一直在研究这两个答案:
Wordpress Contact Form 7 动态 select 下拉字段基于 url
目前,以下代码粘贴在 /contact 页面的 CSS 块中:
(function($){
$(document).ready(function() {
//determine the previous page,
let page = document.referrer, opt='';
switch(true){
case page.indexOf(’douglas-h-flint’)>0:
opt=‘douglashflint’;
break;
case page.indexOf(‘john-f-connolly’)>0:
opt=‘johnfconnolly’;
break;
case page.indexOf(‘david-l-walker-jr’)>0:
opt=‘davidlwalkerjr’;
break;
}
$('select[name=“select-recipient”]’).find('option[value="'+opt+'"]').prop('selected', 'selected');
})
})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="select-recipient”>
<option value="">General Inquiry</option>
<option value=“douglashflint”>Douglas H. Flint</option>
<option value=“johnfconnolly”>John F. Connolly</option>
<option value=“davidlwalkerjr”>David L. Walker, Jr.</option>
</select>
我的网站是: https://c7n.f22.myftpupload.com/
我的目标是当有人直接从这些人的个人页面之一导航到 /contact 页面时 - (/attorneys/douglas-h-flint) 或 (/attorneys/john-f-connolly) 或 (/attorneys/david-l -walker-jr)—联系表单中的“查询方式:”下拉字段将自动选择他们各自的姓名,并且当有人从站点上的任何其他页面导航到 /contact 页面时,“查询方式:”下拉字段将保持默认为“一般查询”选项。
我错过了什么? 或者我做错了什么?
预先感谢您的任何帮助!
观看您拥有的有趣时尚的引语( '
、 '
、 “
和”
)。 那些会破坏JS。 从 HTML 标记和 CSS 中删除它们。
除此之外, .prop()
方法的第二个参数的预期值是 boolean ( true
或false
),因此将是:
$('select[name="select-recipient"]').find('option[value="'+opt+'"]').prop('selected', true);
最后,看到下面的代码粘贴在 CSS 块中,还是挺吓人的……把这段代码放在页面的<head>
标记中:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
//determine the previous page,
let page = document.referrer, opt = '';
switch(true){
case page.indexOf('douglas-h-flint') > -1:
opt = 'douglashflint';
break;
case page.indexOf('john-f-connolly') > -1:
opt = 'johnfconnolly';
break;
case page.indexOf('david-l-walker-jr') > -1:
opt = 'davidlwalkerjr';
break;
}
$('select[name="select-recipient"]').find('option[value="'+opt+'"]').prop('selected', true);
})
</script>
虽然另一个答案是一个很好的答案,但它并不是完全可用的 WordPress。 由于这是联系表格 7 和 WordPress,因此有一些问题。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
jQuery 库已经包含在 WordPress 中。no conflict
模式加载,因此您必须首先使用jQuery
而不是$
初始化wp_add_inline_script
地正确地将脚本排入队列。因此,如果您将以下内容添加到您的联系表格中......它将起作用。
<script type="text/javascript">
jQuery(function($) {
//determine the previous page,
let page = document.referrer, opt = '';
switch(true){
case page.indexOf('douglas-h-flint') > -1:
opt = 'douglashflint';
break;
case page.indexOf('john-f-connolly') > -1:
opt = 'johnfconnolly';
break;
case page.indexOf('david-l-walker-jr') > -1:
opt = 'davidlwalkerjr';
break;
}
$('select[name="select-recipient"]').find('option[value="'+opt+'"]').prop('selected', true);
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.