JS名称首字母

JS name initials

我正在尝试在联系表 7 中获取“姓名缩写”,但我不确定该怎么做。

<script type="text/javascript">
var $initials = document.getElementById("initials");
var fullName = 'full-name';
getInitials(fullName);

function getInitials(_name) {
    var names = _name.split(" ");
    var initials = "";
    if (names.length < 2) {
        throw "Please, First name and Last Name!";
    } else {
        initials = String(names[0][0] + ". " + names[names.length - 1][0] + ".").toUpperCase();
        $initials.innerHTML = fullName + " initials: " + "<b>" + initials + "</b>";
        return initials;
    }
}
</script>

......
      <label>FULL NAME (First Middle Last)</label>
        [text* full-name placeholder "First Middle Last"]
        [dynamictext initials-show id:initials]
......

欢迎任何帮助!

您的 javascript 和 cf7 短代码存在多个问题。所以,我不得不重写大部分内容。此代码已经过测试并且可以正常工作。

JS

<script type="text/javascript">
var initials = document.getElementById("initials");
var fullName = document.getElementById("fullname");

fullName.addEventListener("input", (e) => {

    var names = e.target.value.split(" ");
    var nameinitials = ""

    if (names.length == 2) {
       var nameinitials = names[0][0].toUpperCase() + "." + names[1][0].toUpperCase();
    }

    if (names.length >= 3) {
       var nameinitials = names[0][0].toUpperCase() + "." + names[1][0].toUpperCase() + "." + names[2][0].toUpperCase();
    }

    initials.value = nameinitials

});

</script>

CF7

<label>FULL NAME (First Middle Last)</label>
[text* full-name placeholder id:fullname "First Middle Last"]
[dynamictext initials-show id:initials]

[submit "SUBMIT"]