Estoy usando KnockoutJS con SammyJS para la aplicación de una página.Cómo evitar el envío de formulario
En el html tengo forma de etiqueta de la siguiente manera
<form data-bind='submit: search'>
<label>Find user:</label>
<input data-bind='value: name' />
</form>
y en mi modelo de vista, declararon dos funciones y Sammy ruta 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());
Todo el código funciona bien, hasta que yo escriba algo en cuadro de texto luego envíe el formulario. No esperaba una búsqueda en la URL después de la ventana de alerta, pero la URL se cambió a algo así como "http: // localhost: 8258/undefined?" mi url original es "http: // localhost: 8258"
Dudaba del enrutamiento de sammy url, por lo que eliminé el código sammy del código javascript, y luego la URL no cambia después de la ventana de alerta. Quizás no entiendo cómo funciona Sammy.
Cómo evitar que la URL lo cambie en este caso?
han intentado regresar 'false' de su función' self.search'? –
gracias Gene, noté que no configuré la ruta postal en Sammy. – Ray
Punto menor ... dado que 'self.name' es una función, debe llamar a' alert (self.name()) '. –