我是JavaScript的新手,并且有一个相当简单的代码错误我无法解决...
如果在单击按钮后在文本框中键入文本“spring”,则在下面包含的代码应该返回“OK”,如果还有其他输入,则返回“ERROR”。当代码写在下面时,它会在按钮单击后返回'OK',但是如果我在'if'语句之后输入==或===,无论如何都会得到'ERROR'。
<script>
function myFunction(){
var x="";
if (textfield = "spring"){
x="OK";
}else{
x="ERROR";
}
document.getElementById("validate").innerHTML=x;
}
</script>
答案 0 :(得分:2)
你不是在比较而是分配。
假设textfield
是一个字符串,请更改
if (textfield = "spring")
到
if (textfield === "spring")
如果您输入textfield
,请使用
if (textfield.value === "spring")
答案 1 :(得分:0)
==代表&#34;等于&#34; !=代表&#34;不等于&#34;。
答案 2 :(得分:0)
是的,您必须使用==,因为销毁说要进行比较。文本字段在哪里被赋值?
也许尝试function myFunction(textfield)
并使用值调用您的函数:
myFunction('spring');
答案 3 :(得分:0)
看看你的if (textfield = "spring")
在上面的代码中,您正在使用&#39; =&#39;,&#39; =&#39;,&#39; ==&#39;之间存在很多差异。和&#39; ===&#39;。
= - &gt;赋值运算符
== - &gt;数据比较
=== - &gt;数据类型比较然后数据比较(首先将比较操作数的类型,如果成功则将操作数内的数据进行比较)
当你正在使用&#39; =&#39;时,它正在分配&#34; spring&#34;到您的变量&#34; textfield&#34;
只需用if (textfield === "spring")
答案 4 :(得分:0)
<script type="text/javascript">
function myFunction(){
var textfield = document.text.textfield.value;`
var x="";
if (textfield == "spring"){
x="OK";
}else{
x="ERROR";
}
document.getElementById("validate").innerHTML=x;
}
</script>
<form name="text">
<input type="text" name="textfield" />
<input type="submit" onclick="myFunction();" value="Submit" />
</form>
<p><span id="validate"></span></p>
希望有助于升技