私はノックアウト.jsにかなり慣れていないので、基本を理解していますが、入力をチェックする方法について混乱しています。POST 情報を取得するために PHP を使用し、フォームを作成するためにノックアウトを使用しています。
テキストボックスを動的に生成するフォームがあります。フォームを送信し、値の 1 つが基準を満たしていないとします。フォームがリセットされ、すべてが空になります。PHP では、box = の値を投稿された値に設定するだけでしたが、ノックアウトは次の構文を使用するため、投稿された値をどうするかわかりません
ここに私のjavasctiptがあります
//misc_form.js
function Form_Entry(name) {
var self = this;
self.name = ko.observableArray([]);
}
function EntriesViewModel() {
var self = this;
self.entries = ko.observableArray();
self.add_entry = function() {
if(self.entries().length < 3){
self.entries.push(new Form_Entry( ));
}
}
self.remove_entry = function(name) { self.entries.remove(name) }
}
ko.applyBindings(new EntriesViewModel());
そしてHTML
<table>
<thead><tr>
<th>Field Name</th><th></th>
</tr></thead>
<form method="post">
<tr><td>Form Name</td><td><input type="textbox" name="form_name"/></td></tr>
<tbody data-bind="foreach: entries">
<tr>
<td>Label</td><td><input data-bind="value: name"/></td>
<td><a href="#" data-bind="click: $root.remove_entry">Remove</a></td>
</tr>
</tbody>
</table>
<button data-bind="click: add_entry">Add Input Textbox</button>
<br>
<br>
<input type="hidden" name="entries" data-bind="value: ko.toJSON(entries)" />
<button type="submit">Submit Form</button>
</form>