我希望我的文本框在用户保存数据时清除缓存。我希望页面中的对话框清除(重置)所有数据,而无需刷新页面。
我已经尝试将此代码放在javascript中
_self.someValueHere("");
并且还尝试将此代码放在html中。
onfocus="if(this.value=='A new value') this.value='';
仍然没有工作。
以下是我的HTML代码:
<p>
<label data-bind="text: key"></label><br/>
<input type="text" data-bind="value: newInfo, valueUpdate:'afterkeydown'" style="width: 196px" />
<button data-bind="click: addInfo" >Add</button>
<br/>
<select size=5 style="width:200px"
data-bind="options: infos, value: selectedInfo">
</select>
<button data-bind="click: removeInfo">Remove selected</button>
</p>
这是我的javascript
_self.newInfo = ko.observable("");
_self.selectedInfo = ko.observable();
_self.infos = ko.observableArray();
_self.addInfo = function() {
if(_self.newInfo() != "") {
var validateInput = inputChecker(_self.newInfo(), _self.nfield);
if(validateInput == "") {
var is_unique = true;
$.each( _self.infos(), function( key, val ) {
if(val == _self.newInfo()) {
is_unique = false;
_self.newInfo("");
console.log("first");
}
});
if(is_unique) {
_self.infos.push( _self.newInfo() );
_self.newInfo("");
console.log("second");
} else {
alert("Duplicate entry");
}
} else {
alert(validateInput);
}
} else {
alert("Nothing to add");
}
return false;
_self.newInfo("");
};
_self.removeInfo = function() {
_self.infos.remove( _self.selectedInfo() );
};
}
答案 0 :(得分:0)
你不能在return语句后执行代码,所以这里的第二行没有效果:
return false;
_self.newInfo("");
只需交换它们:
_self.newInfo("");
return false;