Отправка формы не-AngularJS в приложение AngularJS - необходимо переписать URL

0

У меня есть приложение поиска AngularJS, однако окно поиска само по себе находится на стандартной (html-странице) (не-angularJS). Вход выглядит следующим образом:

<form accept-charset="UTF-8" name="search" id="search" action="/search/app/#/results" method="get" >
  <legend class="title">Search everything!</legend>
  <input type="text" class="styledTextInput" name="q" placeholder="Keywords" />
  <button class="btn btn-search" type="submit">Search</button>
</form>

Когда форма отправлена, URL-адрес отображается как:

myapp.com/search/app/?q=medical#/results

Чтобы он работал правильно, мне нужен URL-адрес:

myapp.com/search/app/#/results?q=medical

Я пробовал различные способы заставить Apache переписывать URL-адрес, но не был успешным (не совсем моим сильным). Является ли веб-сервер или AngularJS, что мне нужно, чтобы решить это? Все примеры, которые я нашел, предполагают, что форма находится в AngularJS (в моем случае создание части окна поиска в приложении AngularJS не является вариантом)

  • 2
    Как насчет использования Jquery для перехвата отправки формы, изменения URL-адреса в соответствии с вводом и отправки вручную?
  • 0
    Спасибо @Lucas! Я должен был подумать об этом! Использование jQuery для сброса атрибута действия в форме помогло. Большое спасибо.
Теги:
mod-rewrite

1 ответ

0
Лучший ответ

Полный метод, который я использовал, был следующим:

<script>
jQuery(document).ready(function(){
    jQuery('.btn-search').click( function(e) {
           e.preventDefault();
           var q = $(".styledTextInput").val();
           $("#search").attr("action", "/search/app/#/results?q=" + q).submit();
     });
});
</script>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню