JavaScript函数,用于在按下提交按钮后连接字符

javascript function to concatenate characters after pressing submit button

本文关键字:按钮 提交 连接 字符 函数 用于 JavaScript      更新时间:2023-09-26

我正在尝试创建一个包含一些按钮的网页,每个按钮都有一个字母表和一个提交按钮。按下提交按钮时,所有字母都应连接成一个字符串。为此,我写了以下片段。但它不起作用。(它给出了未定义的值。

同样在返回myFunction.word之后,我想将其设置为" ",以便对于下一组字符,它以新鲜字母开头。

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>
<script>
function myFunction(a) {
    this.word = '';
    if(a == ''){
         return myFunction.word;
    }
    else{
        myFunction.word += a;
        return '';
    }
}
</script>
<button type="button"
onclick="document.getElementById('demo').innerHTML = myFunction('a')">
A</button>
<button type="button"
onclick="document.getElementById('demo').innerHTML = myFunction('b')">
B</button>
<button type="button"
onclick="document.getElementById('demo').innerHTML = myFunction('c')">
C</button>
<button type="button"
onclick="document.getElementById('demo').innerHTML = myFunction('')">
Submit</button>
</body>
</html>
---------------

对于一个简单的解决方案,我建议:

<p id="demo"></p>
<button type="button" class="letter">A</button>
<button type="button" class="letter">B</button>
<button type="button" class="letter">C</button>
<button type="button" 
      onclick="document.getElementById('demo').innerHTML = word; word = '';">
    Submit
</button>
<script>
    var word = "";
    var letters = document.getElementsByClassName('letter');
    for (var i=0; i < letters.length; i++) {
        letters[i].onclick = function (evt) {
            word += evt.target.innerHTML;
        }
    }
</script>

编辑,更新

尝试

function myFunction(a) {
  if (!myFunction.word || a === "") {
    myFunction.temp = myFunction.word;
    myFunction.word = "";        
  };
  if (a.length >= 1) { myFunction.word += a };
  return a.length >= 1 ? "" : myFunction.temp;
};

function myFunction(a) {
  if (!myFunction.word || a === "") {
    myFunction.temp = myFunction.word;
    myFunction.word = "";
    
  };
  if (a.length >= 1) { myFunction.word += a };
  return a.length >= 1 ? "" : myFunction.temp;
};
<p id="demo"></p>
<button type="button" onclick="document.getElementById('demo').innerHTML = myFunction('a')">
  A</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = myFunction('b')">
  B</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = myFunction('c')">
  C</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = myFunction('')">
  Submit</button>