$F()是一个能够简化编码量的函数, 对于字段输入控件有效,包括input、textarea、select等,该函数的输入参数为这些输入控件元素对象的id或元素对象本身,函数负责返回 这些输入控件元素对象的值,即value。例如,代码段1和代码段2的对比可以说明该函数对于简化编码量的作用。
代码段1:
<script language=javascript>
function test()
{
alert(document.getElementById("myInput").value);
}
</script>
<input value="hello world" id="myInput">
<input type=button value=test onclick=test()>
代码段2:
<script language=javascript>
function test()
{
alert( $F("myInput") );
}
</script>
<input value="hello world" id="myInput">
<input type=button value=test$F onclick=test()>
这里需要说明的一点是,$F("myInput")的返回值尽管等同于document.getElementById("myInput").value,但是,$F("myInput")只能用来读取元素对象的值,不能用在等号左边进行赋值运算,例如,如下代码是错误的:
$F("myInput") = "new value"; //这是错误的写法
但是,下面的代码是正确的:
document.getElementById("myInput").value = "new value"; //正确的代码
如果希望利用prototype.js的函数实现上面正确的代码就应该利用上一篇文章提到的$(),代码如下:
$("myInput").value = "new value"; //正确的代码