我使用javaScript
onsubmit函数根据角色重定向到特定页面。我也在我的应用中使用AngularJS
。但是当我在填写表单后按Enter键时,页面将直接转到该页面,而不是在ng-view
中加载页面。我怎么能解决这个问题?
代码:
function next(){
var role = location.search.substring(1);
if ( role == "vp"){
//alert ("Login successfully");
window.location = "results.html?vp";//redirecting to other page
//return false;
}
else{
window.location = "results-locked.html?sales";
}
}
Angular JS
var module = angular.module("portalApp", ['ngRoute']);
module.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/home', {
templateUrl: 'home.html',
}).
when('/results', {
templateUrl: 'results.html',
}).
when('/lock-results', {
templateUrl: 'results-locked.html',
}).
otherwise({
redirectTo: '/home'
});
}]);
HTML:
<div class="search-form">
<form method="post" name="myform" action="javascript:next()" class="ourform">
<img src="images/mic.png" class="mic">
<input type="search" id="search" name="search" placeholder="Type or speak here to search">
<input type="image" alt="submit" src="images/search.jpg" class="submit"/>
</form>
</div>
相反,我想在javascript中使用href="#/results"
和href="#/results-locked"
等内容。
答案 0 :(得分:0)
我通过修改javascript代码来解决这个问题
function next(){
var role = location.search.substring(1);
if ( role == "vp"){
//alert ("Login successfully");
window.location = "#/results";//redirecting to other page
//return false;
}
else{
window.location = "#/lock-results";
}
}
答案 1 :(得分:0)
你好angularjs有两种模式hashbang模式和html5模式。
您可以从链接中获取详细信息
https://docs.angularjs.org/guide/ $位置
所以如果你在锚标签中使用
<a href="home.html">go to home</a>
它不起作用,所以你必须这样做 激活所需的模式,或者您可以直接在href属性
中使用#<a href="#home.html">go to home</a>