KENDO UI - Почему кнопка Нажмите Обновить страницу?
-
26-12-2019 - |
Вопрос
Пожалуйста, найдите ниже мой код:
Шаблон формы поиска клиентов
<script type="text/x-kendoui-template" id="customer-search-view-template">
<div class="searchform" id="searchCustomer">
<form class="frmSearch">
<input name="searchTxt" data-bind="value: customerName" class="k-textbox" />
<button class="k-button" data-bind="click: searchClicked">Search</button>
<button class="k-button" data-bind="click: newClicked">New</button>
</form>
</div>
</script>
.
Поиск клиента.js, где загрузка выше шаблона и создание объекта ViewModel
$(function(){
var views = {};
templateLoader.loadExtTemplate("customer-search-view-template", "../views/customer-search-template.html");
var layout = new kendo.Layout($('#customer-search-view-template').html());
layout.render($("#main"));
// Create an observable view model object.
var customer = kendo.observable({
customerName: "John",
searchClicked: function() {
this.set("customerName", "Search clicked");
},
newClicked: function() {
this.set("customerName", "New clicked");
}
});
// Bind the view model to the personFields element.
kendo.bind($('#searchCustomer'), customer);
});
.
Когда я нажимаю кнопку поиска, текст устанавливается в TextBox, но это также обновляет страницу ?searchTxt=Search+clicked
в адресной строке.
Решение
Я бы попробовал установить тип атрибута 'для каждого подобного:
<button type="button" class="k-button" data-bind="click: searchClicked">Search</button>
<button type="button" class="k-button" data-bind="click: newClicked">New</button>
.
Страница думает, что каждый выполняет форму отправить действие, но, поместив атрибут типа, вы можете получить доступ к событию, который вы предназначены для поиска.Возможно, вам не понадобится теги формы, если вы не собираетесь публиковать какие-либо данные, а скорее только обработчик событий JS.Удачи.