que he hecho algo similar a lo que creo que estamos tratando de hacer. En mi caso, agregué la funcionalidad Backbone sobre los formularios existentes. He aquí un ejemplo simplificada:
HTML existente:
<div id="my-app">
<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user" id="username" />
<input type="submit" value="Submit" />
</form>
</div>
Backbone:
var MyFormView = Backbone.View.extend({
events: {
"submit form": "formHandler"
},
formHandler: function(evt) {
evt.preventDefault();
var nameVal = $('#username').val();
this.$el.append('<p>hello: ' + nameVal + '</p>');
}
});
$().ready(function(){
var myForm = new MyFormView({el: "#my-app"});
});
La clave es pasar el HTML existente como la propiedad "el" cuando se crea la vista.
No estoy seguro de lo que está preguntando. Como JavaScript es del lado del cliente, cualquier marco JS puede modificar elementos DOM sin tener que depender del servidor (a menos que esté utilizando servicios para cargar datos relacionados con AJAX). Esa es toda la idea detrás de las aplicaciones de una sola página: el servidor envía una vista html que contiene todas las plantillas y JavaScript representa las vistas y manipula el html. ¿Podría describir un poco más específicamente en qué está trabajando? – PhillipKregg