javascript - switch 语句不识别输入
问题描述
我有一个不重新识别输入的 switch 语句。它总是返回默认的...
如您所见,我onclick="rewrite("value")"
在输入字段中添加了值。
我还有其他一些有效的 switch 语句,所以我真的在这里摸不着头脑......
由于我没有其他要添加的内容,因此我只是在此处添加文本,这样我就可以提交了。
欢迎任何帮助。
<div>
<input type="image" value="sl" class="zastave" src="assets/drzave/Slo.png" onclick="rewrite('sl'); setInputs('sl');">
<input type="image" value="en" class="zastave" src="assets/drzave/Ang.png" onclick="rewrite('en'); setInputs('en');">
<input type="image" value="de" class="zastave" src="assets/drzave/Nem.png" onclick="rewrite('de'); setInputs('de');">
<input type="image" value="it" class="zastave" src="assets/drzave/Ita.png" onclick="rewrite('it'); setInputs('it');">
<input type="image" value="hr" class="zastave" src="assets/drzave/Hrv.png" onclick="rewrite('hr'); setInputs('hr');">
<input type="image" value="ru" class="zastave" src="assets/drzave/Rus.png" onclick="rewrite('ru'); setInputs('ru');">
</div>
function rewrite(){
let smol = document.getElementById("small");
let advT = document.getElementById("adv-t");
let advC = document.getElementById("adv-c");
let a = document.getElementById("a");
let d = document.getElementById("d");
switch (rewrite){
case "sl":
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'Do you want to recieve our emails?';
advC.innerHTML = 'Yes, send me emails.';
smol.innerHTML = 'I agree to whatever you say. We don`t read small print';
a.innerHTML = 'Agree';
d.innerHTML = 'Disagree';
break;
case "en":
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'X Do you want to recieve our emails?';
advC.innerHTML = 'X Yes, send me emails.';
smol.innerHTML = 'X I agree to whatever you say. We don`t read small print';
a.innerHTML = 'X Agree';
d.innerHTML = 'X Disagree';
break;
case "de": advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'Y Do you want to recieve our emails?';
advC.innerHTML = 'Y Yes, send me emails.';
smol.innerHTML = 'Y I agree to whatever you say. We don`t read small print';
a.innerHTML = 'Y Agree';
d.innerHTML = 'Y Disagree';
break;
case "it":
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'Z Do you want to recieve our emails?';
advC.innerHTML = 'Z Yes, send me emails.';
smol.innerHTML = 'Z I agree to whatever you say. We don`t read small print';
a.innerHTML = 'Z Agree';
d.innerHTML = 'Z Disagree';
break;
case "hr":
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'XX Do you want to recieve our emails?';
advC.innerHTML = 'XX Yes, send me emails.';
smol.innerHTML = 'XX I agree to whatever you say. We don`t read small print';
a.innerHTML = 'XX Agree';
d.innerHTML = 'XX Disagree';
break;
case "ru":
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'XY Do you want to recieve our emails?';
advC.innerHTML = 'XY Yes, send me emails.';
smol.innerHTML = 'XY I agree to whatever you say. We don`t read small print';
a.innerHTML = 'XY Agree';
d.innerHTML = 'XY Disagree';
break;
default:
advT.innerHTML = '';
advC.innerHTML = '';
smol.innerHTML = '';
a.innerHTML = '';
d.innerHTML = '';
advT.innerHTML = 'XZ Do you want to recieve our emails?';
advC.innerHTML = 'XZ Yes, send me emails.';
smol.innerHTML = 'XZ I agree to whatever you say. We don`t read small print';
a.innerHTML = 'XZ Agree';
d.innerHTML = 'XZ Disagree';
break;
}
};
解决方案
你从来没有定义你rewrite()
的点击处理函数来接受输入参数。你应该这样做,然后switch
在这个值上:
function rewrite(value) {
// ...
switch (value) {
case "sl":
advT.innerHTML = '';
// etc.
break;
推荐阅读
- node.js - 从特定目录内的所有目录加载文件
- elasticsearch - Elasticsearch 6.3 - 如何在 elasticsearch 中启用 SSL
- python - 带有自己的包并与 git 共享的 Python3 框架:如何处理 sys.path 和 __init__.py 文件?
- java - 调用 Oracle 函数并将其设置为实体
- javascript - 使用 .map、.filter、.reduce 将 JSON 数据重新排列为兼容格式
- javascript - 如何从 Google API 获取生日和电话号码信息?
- php - 限制某些用户角色以编程方式访问视图页面 drupal8
- mysql - 当值的数字以字符串结尾时,MySQL结果问题
- data-structures - 如何在不使用额外内存或变量的情况下检查链表是否循环?
- ios - 清除数据库后,iOS CoreData 实体返回 Null