我想将输入的Integer更改为String数组。我使用javascript编写这样的函数,但不幸的是它不起作用。我尝试了所有我知道的但我不知道我做错了什么。非常感谢一些帮助/解释等。这是代码。
<script type="text/javascript">
function convert() {
var umge = document.getElementbyId('eingabe').value;
if(umge == 0005010) {
var aus = {"Maria", "Nord", "1a", "VS Langenzersdorf"};
var myJSON = JSON.stringify(aus);
document.getElementById('output').innerHTML = myJSON;
document.getElementById('input').innerHTML = "";
}
}
</script>
</head>
<body bgcolor="orange">
<form action="" method="post">
<input type="text" name="input" id="input" value="0005010">
<input type="submit" value="Umwandeln" onclick="convert();">
<p name="output" id="output"> Kein Wert</p>
</form>
</body>
</html>
答案 0 :(得分:0)
除了评论中提到的问题之外,您对aus
的声明是错误的:对象应为{k1:"v2"}
,数组应为["v1","v2"]
。
此外,您的输入框是text
类型,因此其value
是字符串,而不是数字,因此您需要将其与字符串进行比较。我将您的代码清理为可运行的内容:https://plnkr.co/edit/Sny3LuBDGh0ZKHY0lSWx?p=preview
基本上你应该这样做:
var umge = document.getElementById('input').value;
if(umge == "0005010") { .... }
或类似的东西:
var umge = parseInt(document.getElementById('input').value);
if(umge == 5010) { .... } // note - no leading 0s!