Marketo 表单复选框 - 选中另一个复选框时取消选中复选框

Posted

技术标签:

【中文标题】Marketo 表单复选框 - 选中另一个复选框时取消选中复选框【英文标题】:Marketo Form Checkbox - uncheck checkbox when another is checked 【发布时间】:2020-06-18 11:29:57 【问题描述】:

我正在使用 Marketo 表单,请尝试所有我能想到的触发方式:“在选中另一个复选框时取消选中复选框”。

只是一些背景,表单加载后将检查“globalGenericString2”。

我也试过,“globalGenericString1”点击>“globalGenericString2”取消选中,并在“globalGenericString2”上做同样的点击>“globalGenericString1”取消选中。当我这样做时会创建一个错误,您需要单击该复选框两次才能选中该复选框。

帮助 PLZ!!!!

MktoForms2.whenReady(function (form2) 
if ($("input[name='globalGenericString2']").is(":checked") == false)
      $("input[name='globalGenericString2']").trigger('click');
      $("input[name='globalGenericString2']").is(":checked");
      $("input[name='globalGenericString2']").prop("checked", true);
      

// seem working, but not stable and not working on Firefox
$("input[type='checkbox']").click(function()
$("input[type='checkbox']").trigger('click');
);
);
<div class="mktoFormRow" style="">
<label for="globalGenericString2" class="mktoLabel mktoHasWidth">
<input name="globalGenericString2" id="ID" type="checkbox" value="physical" class="mktoField" style="">
<label for="ID">Both hard copy and digital (PDF)</label>
</div>

<div class="mktoFormRow" style="">
<label for="globalGenericString1" class="mktoLabel mktoHasWidth">
<input name="globalGenericString1" id="ID" type="checkbox" value="physical" class="mktoField" style="">
<label for="ID">Only digital (PDF)</label>
</div>

【问题讨论】:

【参考方案1】:

这样的事情应该可以工作:

MktoForms2.whenReady(function (form2) 

    // Toggle check to true for globalGenericString2 on page load
    $("input[name='globalGenericString2']").prop("checked", true);

    // Toggle off other checkboxes when toggling on one
    $("input[type='checkbox']").on('change', function() 
        $("input[type='checkbox']").not(this).prop('checked', false);  
    )

);

【讨论】:

以上是关于Marketo 表单复选框 - 选中另一个复选框时取消选中复选框的主要内容,如果未能解决你的问题,请参考以下文章

复选框的属性[重复]

检查表单提交时至少选中一个复选框

如果选中复选框,则角度 5 使用其他字段值填充表单字段

选中另一个复选框时选中复选框

仅在至少选中一个复选框时才使用外部提交按钮提交表单

选中另一个复选框时如何取消选中一组复选框