Jie*_*eng 3 javascript jquery knockout.js
我的代码就像
function populate...() {
var user = $.storage.get("particulars");
if (user) {
console.log($("#frmRegister")); // returns [] why?
$("#frmRegister").find("input[name=name]").val(user.name).end()
.find("input[name=email]").val(user.email).end()
.find("input[name=contact]").val(user.contact).end()
.find("input[name=faculty]").val(user.faculty).end()
.find("input[name=course]").val(user.course).end()
.find("input[name=year]").val(user.year).end();
}
console.log("out")
}
$(function() {
eventsViewModel.populateRegistrationForm();
})
Run Code Online (Sandbox Code Playgroud)
我想知道为什么$("#frmRegister")在日志中返回null,而在chrome中我使用控制台来$("#frmRegister")获取表单
Knockout.js是否会干扰这些事情?我的表格如下:
<form action=""
method="POST"
data-bind="submit: $root.submitRegistration, visible: !registered()"
id="frmRegister"
>
Run Code Online (Sandbox Code Playgroud)
UPDATE
有关代码,请参见http://octopus.phpfogapp.com/.有问题的行是第154行.(除非我改变它.如果是这样,你可能会搜索$("#frmRegister").find("input[name=name]")或者可能$("#frmRegister
而不是像这样写你的表格......
<form action="" method="POST" data-bind="submit: $root.submitRegistration, visible: !registered()" id="frmRegister">
...
Run Code Online (Sandbox Code Playgroud)
写这样:
<form action="/give/a/url.here" method="POST" id="frmRegister">
Run Code Online (Sandbox Code Playgroud)
jQuery有一大堆问题,比如使用存储和数据绑定作为超级全局,但你的具体问题是:
if (user.name != "") {
$("#frmRegister").find("input[name=name]").val(user.name).end()
.find("input[name=email]").val(user.email).end()
.find("input[name=contact]").val(user.contact).end()
.find("input[name=faculty]").val(user.faculty).end()
.find("input[name=course]").val(user.course).end()
.find("input[name=year]").val(user.year).end();
}
Run Code Online (Sandbox Code Playgroud)
可以写成:
if (user.name != "") {
$("#frmRegister input").val(user.[$(this).prop('name')]).end()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1361 次 |
| 最近记录: |