我真的不知道为什么这两个功能 - 离开()& do() - 不要跑!
function leave()
{
var x = document.getElementById("x");
if(x.value == "")
{
alert("please enter your name");
x.focus();
}
}
function do()
{
var y = document.getElementById("y");
if (y.value = "enter your name here")
{
alert("enter your last name");
y.focus();
y.select();
}
}
这是我的代码:http://jsfiddle.net/BsHa2
提前致谢
答案 0 :(得分:1)
你有3个问题:
1-在您的jsfiddle选项中,您已选择将所有代码包装在onLoad
中,因此这些函数不在全局上下文中,您可以像我在下面的代码中那样修复它。 / p>
2-此行将值设置为y input的值:
if (y.value = "enter your name here")
将其更改为
if (y.value == "enter your name here")
3-另一个问题是do
是一个保留字,不要使用保留字,尽管它可以在某些浏览器中执行您想要的操作。
window.leave = function leave()
{
var x = document.getElementById("x");
if(x.value == "")
{
alert("please enter your name");
x.focus();
}
}
window.check = function check()
{
var y = document.getElementById("y");
if (y.value = "enter your name here")
{
alert("enter your last name");
y.focus();
y.select();
}
}
答案 1 :(得分:0)
首先do
是关键字,因此您无法将其用作方法名称 - 将其重命名为check
内联事件hadndlers的第二个方法必须在全局范围内 - 在小提琴的左侧面板的第二个下拉列表中选择body / head
演示:Fiddle
答案 2 :(得分:0)
do
是保留关键字。您不能将其用作函数名称。将其重命名为其他内容。
其次,必须在全局范围内定义内联事件处理程序。在你的小提琴中你必须选择 Wrap in head选项
第三,=
是赋值运算符,用于比较使用==
和===
,行(y.value = "enter your name here")
中的错误
使用
function do1()
答案 3 :(得分:0)
do
是保留关键字。您不能将其用作函数名称。
另外,你在这里犯了错误:
if (y.value = "enter your name here")
你需要检查是否平等:
if (y.value === "enter your name here")
顺便说一句,您应该考虑为变量提供有意义的名称并使用不显眼的事件处理程序:
<form id="myForm">
<label for="firstName">First Name:</label>
<input type="text" name="input" id="firstName" size="20">
<br/>
<label for="lastName">Last Name:</label>
<input type="text" id="lastName" size="20" value="enter your name here">
<input type="button" id="check" value="Check!">
</form>
var firstName = document.getElementById("firstName"),
lastName = document.getElementById("lastName"),
checkButton = document.getElementById("check");
firstName.onblur = function(){
if (this.value === ""){
alert("please enter your name");
this.focus();
}
}
check.onclick = function(e){
e.preventDefault();
if (lastName.value === "enter your name here") {
alert("enter your last name");
lastName.focus();
}
}
<强> fiddle 强>