我正在尝试制作一个简单的加密系统。我用所有字母创建了一个代码,但是当我写文本并单击按钮加密它时,它只识别一个字母。
HTML:
<input type="text" id="text">
<input type="button" id="send" onclick="onClick()" value="encript">
<a id="itext">Your text will show here</a>
<a type="text" id="code">Your encrypted text will be showed here</a>
JS:
function onClick() {
var txt = document.getElementById("text").value;
document.getElementById("itext").innerHTML = txt;
if(txt == "a"){
document.getElementById("code").innerHTML = "yv";
}
if(txt == "b"){
document.getElementById("code").innerHTML = "eh";
}
if(txt == "c"){
document.getElementById("code").innerHTML = "ps";
}
...
}
答案 0 :(得分:2)
问题在于您要针对单个字母检查整个字符串。您应该将字符串拆分为字符并迭代它们中的每一个。像这样:
@Override
public void onListItemClick(ListView l, View v, final int position, long id) {
PopupMenu popup = new PopupMenu(getContext(), v, Gravity.CENTER_HORIZONTAL);
popup.getMenuInflater().inflate(R.menu.bus_line_popup, popup.getMenu());
popup.setOnMenuItemClickListener(...);
popup.show();
}
答案 1 :(得分:1)
您还可以构建一个捕获键盘输入的函数,如下所示:
document.addEventListener('keydown', function(event) {
if(event.keyCode == 65) {
var code = document.getElementById("code");
code.appendChild(document.createTextNode("yv"));
}
else if(event.keyCode == 66) {
var code = document.getElementById("code");
code.appendChild(document.createTextNode("eh"));
}
else if(event.keyCode == 67) {
var code = document.getElementById("code");
code.appendChild(document.createTextNode("ps"));
}
});
我在这里举了一个例子: https://jsbin.com/bohucecudu/edit?html,output
如果你有这个,那么你不需要先点击按钮来获得结果:)