我的代码无法正常工作。 你能告诉我我的错误在哪里吗?
这是我的代码:
HTML部分
<form name="" id="" method="">
<fieldset>
<legend><strong>My Form</strong></legend>
<div class="">
<label for="name">Name:-</label>
<input type="text" value="" id="name" />
</div>
<div class="">
<label for="email">Email:-</label>
<input type="text" value="your email" id="email" />
</div>
<div class="">
<label for="companyId">Company Name:-</label>
<input type="text" value="" id="companyId" />
</div>
</fieldset>
</form>
Java脚本
var emailField = document.getElementById("email");
emailField.onfocus = function(){
if(emailField.value == "your email"){
emailField.value =="";
}
};
emailField.onblur = function(){
if(emailField.value ==""){
emailField.value == "your email";
}
};
答案 0 :(得分:4)
您需要使用=
(赋值运算符)分配值,而使用的是==
比较运算符
emailField.value ="";
和
emailField.value = "your email";
如果需要,您也可以使用placeholder
属性,这可以为您节省11行JavaScript代码。
答案 1 :(得分:1)
您的JavaScript代码段问题在于您使用==
代替=
来设置值。
但是:您需要支持哪些浏览器?如果它们不是太过时,你可以使用<input type="text" name="email" placeholder="YOUR PLACEHOLDER TEXT HERE">
而不需要任何JS。检查here以获取浏览器支持。
答案 2 :(得分:1)
这是因为==是比较运算符,而=是赋值运算符。当你给emailField.value ==“”时,javascript会检查该值是否为空字符串,而不是分配空字符串。
答案 3 :(得分:0)
您使用了
emailField.value =="";
应该是
emailField.value ="";
答案 4 :(得分:0)
用这个替换你的代码,它可能对你有帮助
<input type="text" id="email" placeholder="Enter Your Email" />
答案 5 :(得分:0)
伙计,你使用的是比较运算符而不是赋值:
试试这个:
var emailField = document.getElementById("email");
emailField.onfocus = function(){
if(emailField.value == "your email"){
emailField.value ="";
}
};
emailField.onblur = function(){
if(emailField.value ==""){
emailField.value = "your email";
}
};