gpt4 book ai didi

knockout.js - 如何防止表单提交

转载 作者:行者123 更新时间:2023-12-04 03:30:52 24 4
gpt4 key购买 nike

我将 KnockoutJS 与 SammyJS 一起用于一页应用程序。

在 html 中,我有如下的表单标签

<form data-bind='submit: search'>
<label>Find user:</label>
<input data-bind='value: name' />
</form>

在我的 View 模型中,声明了两个函数和 sammy route url
function ViewModel() {
var self = this;
self.name = ko.observable("");
self.search = function () {
alert(self.name);
};

Sammy(function () {
this.get('#:id', function () {
//do something....
});
}).run();
}

ko.applyBindings(new ViewModel());

所有代码都运行良好,直到我在文本框中输入内容然后提交表单。
我希望在警报窗口后没有 url 浏览,但 url 更改为类似“http://localhost:8258/undefined?”的内容
我的原始网址是“http://localhost:8258”

我怀疑 sammy url 路由,所以从 javascript 代码中删除了 sammy 代码,然后 url 在警报窗口后不会改变。
也许我不明白 sammy 是如何工作的。

在这种情况下如何防止 url 改变呢?

最佳答案

Sammy 将自己绑定(bind)到表单,以便您也可以为它们注册路由。

<form action="#1234" method="post">

JS:
Sammy(function() {
this.post('#:id', function() {
// do something...

return false; // avoid form submission
});

// ...
}).run();

关于knockout.js - 如何防止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com