Working with form fields---1

来源:互联网 发布:22lr子弹淘宝 编辑:程序博客网 时间:2024/05/29 07:00





submit 绑定
目的
submit 绑定在 form 表单上添加指定的事件句柄以便该 form 被提交的时候执行 定义的 JavaScript 函数。只能用在表单 form 元素上。
当你使用 submit 绑定的时候, Knockout 会阻止 form 表单默认的 submit 动作。换句话说,浏览器会执行你定义的绑定函数而不会提交这个 form 表单到服务器 上。可以很好地 解释这个,使用 submit 绑定就是为了处理 view model 的自定 义函数的,而不是再使用普通的 HTML form 表单。如果你要继续执行默认的 HTML form 表单操作,你可以在你的 submit 句柄里返回 true。
 
例子

这个例子里,KO 将把整个 form 表单元素作为参数传递到你的 submit 绑定函数里。你可以忽略不管,但是有些例子里是否有用,参考:ko.postJson 工具。
 
为什么不在 submit 按钮上使用 click 绑定?
在 form 上,你可以使用 click 绑定代替 submit 绑定。不过 submit 可以 handle 其它的 submit 行为,比如在输入框里输入回车的时候可以提交表单。
 
参数
    主参数
    你绑定到 submit 事件上的函数
    你可以声明任何 JavaScript 函数 – 不一定非要是 view model 里的函 数。你可以声明任意对象上的任何函数,例如: submit: someObject.someFunction。
    View model 上的函数在用的时候有一点点特殊,就是不需要引用对象的, 直接引用函数本身就行了,比如直接写 submit: doSomething 就可以了,而无需 写成: submit: viewModel. doSomething(尽管是合法的)。
    其它参数
        无
 
备注:
关于如果传递更多的参数给 submit 绑定函数,或者当调用非 view model 里的函 数的时如何控制 this,请参考 click 绑定。所有 click 绑定相关的 notes 也都 适用于 submit 绑定。
 
依赖性
除 KO 核心类库外,无依赖。 
enable 绑定
目的
enable 绑定使 DOM 元素只有在参数值为 true 的时候才 enabled。在 form 表单 元素 input,select,和 textarea 上非常有用。
 
例子

这个例子里,“Your cellphone number”后的 text box 初始情况下是禁用的, 只有当用户点击标签 “I have a cellphone”的时候才可用。
 
参数
    主参数
    声明 DOM 元素是否可用 enabled。
    非布尔值会被解析成布尔值。例如 0 和 null 被解析成 false,21 和非 null 对象被解析给 true。
    如果你的参数是 observable 的,那绑定会随着 observable 值的改变而 自动更新 enabled/disabled 状态。如果不是,则只会设置一次并且以后不再更 新。
    其它参数
         无
 
注:任意使用 JavaScript 表达式
不紧紧限制于变量 – 你可以使用任何 JavaScript 表达式来控制元素是否可用。 例如,

 
依赖性
除 KO 核心类库外,无依赖。  
  disable 绑定
目的
disable 绑定使 DOM 元素只有在参数值为 true 的时候才 disabled。在 form 表 单元素 input,select,和 textarea 上非常有用。
disable 绑定和 enable 绑定正好相反,详情请参考 enable 绑定。


  

 
  

   

  

 

原创粉丝点击