javascript 初学者问题...
小弟初学js 想请教一个菜鸟问题,希望各位高手多多指点 谢谢
<HTML>
<HEAD>
<SCRIPT LANGUAGE= "JavaScript ">
function echo(form,currentField){
if (currentField == "first "){
form.second.value = form.first.value;
}else{
form.first.value = form.second.value;
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE= "text " NAME= "first " onchange = "echo(this.form,this name); ">
<br>
<INPUT TYPE= "text " NAME= "second " onchange = "echo(this.form,this name); ">
</FORM>
</BODY>
</HTML>
我想问一下这段代码中
1. 函数function echo(form,currentField)为什么要有2个参数,是不是要达到什么目的所以才会加入参数?
2. if中的条件 currentField == "first " 可以写成 currentField == "second " 吗 两种写法有什么区别吗?
3. "echo(this.form,this name) " 中的this.form 是代表当前这个Form 对象吗?this.name 是代表当前字段对象的name属性吗?
4. 这段代码为什么运行就出现错误?
------解决方案--------------------这
是一段
使两个input值同步的代码
参数form是表单 <form> 的引用,currentField是触发onchange事件的对象的名字.引入参数是为了函数处理方便一点.
换成currentField == "second " 也可以,不过代码要做相应的改变.
this代表当前事件对象,this.form代表,事件对象所属的表单. this.name指事件对象的名字.
运行出错是因为把.打成了空格.
<HTML>
<HEAD>
<SCRIPT LANGUAGE= "JavaScript ">
function echo(form,currentField){
if (currentField == "first "){
form.second.value = form.first.value;
}else{
form.first.value = form.second.value;
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE= "text " NAME= "first " onchange = "echo(this.form,this.name); ">
<br>
<INPUT TYPE= "text " NAME= "second " onchange = "echo(this.form,this.name); ">
</FORM>
</BODY>
</HTML>
------解决方案--------------------1. 函数function echo(form,currentField)为什么要有2个参数,是不是要达到什么目的所以才会加入参数?
自定义函数,把值套入进去就明白了
2. if中的条件 currentField == "first " 可以写成 currentField == "second " 吗 两种写法有什么区别吗?
可以,不过要把if 和else里面的内容换一下,不然你就写不进东西了
3. "echo(this.form,this name) " 中的this.form 是代表当前这个Form 对象吗?this.name 是代表当前字段对象的name属性吗?
对
4. 这段代码为什么运行就出现错误?
因为echo(this.form,this name)要改成echo(this.form,this.name)