Используйте этот код в вашем form.it будет обрабатывать несколько кликов.
<script type="text/javascript">
$(document).ready(function() {
$("form").submit(function() {
$(this).submit(function() {
return false;
});
return true;
});
});
</script>
он будет работать точно.
MVC-архитектура PureMVC / JS является наиболее элегантной IMO. Я многому у него научился. Я также нашел Масштабируемую архитектуру приложений JavaScript Николаса Закаса полезной при исследовании вариантов архитектуры на стороне клиента.
Два других совета
Посмотрите http://bennadel.com/projects/cormvc-jquery-framework.htm Бен довольно проницателен, и если вы покопаетесь в его блоге, у него есть несколько хороших сообщений о том, как размещается CorMVC вместе и почему.
Вы можете использовать javascript MVC framework http://javascriptmvc.com/
Способ создания приложений:
Просто выберите фреймворк javascript и следуйте его лучшим практикам. Мои любимые - ExtJS и GWT, но YMMV.
НЕ используйте для этого собственное решение. Усилия, необходимые для дублирования того, что делают современные JavaScript-фреймворки, слишком велики. Всегда быстрее адаптировать что-то существующее, чем строить все с нуля.
Веб-приложение, над которым я сейчас работаю, использует JQuery, и я бы не рекомендовал его для любого большого одностраничного веб-приложения. Большинство фреймворков, таких как Dojo, yahoo, google и другие, используют пространства имен в своих библиотеках, а JQuery - нет, и это существенный недостаток.
Если ваш веб-сайт будет небольшим, то JQuery подойдет, но если вы собираетесь создать большой сайт, то я бы рекомендовал посмотреть на все доступные Javascript-фреймворки и решить, какой из них наиболее соответствует вашим потребностям.
И я бы рекомендовал применить паттерн MVC к вашему javascript/html и, вероятно, большая часть вашей объектной модели для javascript может быть сделана как json, который вы фактически возвращаете с сервера через ajax, а javascirpt использует json для рендеринга html.
Я бы рекомендовал прочитать книгу Ajax в действии, так как она охватывает большинство вещей, которые вам нужно знать.