所以,这是我在这里发表的第一篇文章,我对编码总体来说还很陌生,所以请耐心等待。我试图从两个不同的文本框获取用户输入,并在单击按钮后将它们交织在一起。因此,如果用户在第一个文本框中输入“abcd”,在第二个文本框中输入“1234”,则最后一个文本框中的结果将是“a1b2c3d4”。这是我的代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<label>Enter Text Here:</label>
<input id="userInput1" type="text" />
<label>Enter Text Here:</label>
<input id="userInput2" type="text" />
<button id="myBTN" type="button">Try it</button>
<label for="output">Result: </label><input id="output" type="text"/>
<script type="text/javascript" src="jscript.js"></script>
</body>
</html>
还有我的 JavaScript:
var myButton = document.getElementById("myBTN");
myButton.addEventListener("click", merge);
function merge() {
var a = document.getElementById("userInput1").value;
var b = document.getElementById("userInput2").value;
var aMod = a.split("");
var bMod = b.split("");
var c = ""
for (i=0; i < aMod || i < bMod; i++) {
if (i < aMod)
c += aMod[i];
if (i < bMod)
c += bMod[i];
}
return c;
document.getElementbyId("output").value = "c";
}
当我尝试执行它时,我没有收到任何错误,但当我单击按钮时,什么也不会发生。如有任何帮助,我们将不胜感激。
最佳答案
您的脚本存在一些问题,这对于初学者来说是很自然的,所以不要灰心。
<小时/>缺少分号
在 JavaScript 的第 8 行,你的谎言并没有以分号结束。我相信这不是 Javascript 中的关键问题,但这确实是一个很好的实践。
缺少变量
在 for
循环中,您使用变量 i
而无需先声明它 ( var
)。这意味着 i
是在全局范围内声明的,这可能会导致意外的行为。
将 aMod 和 bMod 视为整数,而不是数组
您的变量aMod
和bMod
是数组,而不是整数。为了将它们与 i
进行比较,您需要比较它们的 .length
您包含了一个会破坏程序流程的 return 语句
如果您要返回稍后使用的值,则仅需要 return 语句。由于函数 merge()
将值 c
分配给最后一行中的元素 output
,因此您不需要 return 语句。
getElementById 区分大小写
在最后一行中,您编写了 getElementbyId
而不是 getElementById
(注意字母 B
)
您正在分配值“c”而不是变量c
还在最后一行中,您将字符串值“c”分配给元素output
,而不是变量c
。
总之,此代码演示了上述更改:
var myButton = document.getElementById("myBTN");
myButton.addEventListener("click", merge);
function merge() {
var a = document.getElementById("userInput1").value;
var b = document.getElementById("userInput2").value;
var aMod = a.split("");
var bMod = b.split("");
var c = "";
for (var i = 0; i < Math.max(aMod.length, bMod.length); i++) {
if (i < aMod.length)
c += aMod[i];
if (i < bMod.length)
c += bMod[i];
}
document.getElementById("output").value = c;
}
关于javascript - 如何使用 Javascript 交织文本框中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47896981/