私は1ページアプリケーションにSammyJSでKnockoutJSを使用しています。私はフォーム送信を防止する方法
<form data-bind='submit: search'>
<label>Find user:</label>
<input data-bind='value: name' />
</form>
、私のviewmodelでに従うようにformタグを持つHTMLで
は、私がテキストボックスに何かを入力するまで、すべてのコードは、良い作品の二つの機能とサミーのルート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?」のように変更されました。 私の元のurlは "http:// localhost:8258"
私はサミーURLのルーティングを疑ったので、JavaScriptコードからサミーコードを削除してから、アラートウィンドウ後にurlは変更されません。 サミーがどのように機能するのか分かりません。
この場合、URLを変更しないようにするにはどうすればよいですか?
:)をする必要があり、あなたの 'self.search'関数から' false'を返すを試してみましたか? –
ありがとう、ジーン、私はサミーにポストルートを設定していないことに気づいた。 – Ray
マイナーポイント... 'self.name'は関数なので、' alert(self.name()) 'を呼び出す必要があります。 –