在下一页中,使用Firefox,删除按钮提交表单,但添加按钮不提交.如何阻止删除按钮提交表单?
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function addItem() {
var v = $('form :hidden:last').attr('name');
var n = /(.*)input/.exec(v);
var newPrefix;
if ( n[1].length == 0 ) {
newPrefix = '1';
} else {
newPrefix = parseInt(n[1])+1;
}
var oldElem = $('form tr:last');
var newElem = oldElem.clone(true);
var lastHidden = $('form :hidden:last');
lastHidden.val(newPrefix);
var pat = '=\"'+n[1]+'input';
newElem.html(newElem.html().replace(new RegExp(pat, 'g'), '=\"'+newPrefix+'input'));
newElem.appendTo('table');
$('form :hidden:last').val('');
}
function removeItem() {
var rows = $('form tr');
if ( rows.length > 2 ) …Run Code Online (Sandbox Code Playgroud) 在基于多个用户上下文呈现整个页面并发出多个$http请求之后,我希望用户能够切换上下文并再次重新呈现所有内容(重新发送所有$http请求等).如果我只是将用户重定向到其他地方,那么事情就会正常运行:
$scope.on_impersonate_success = function(response) {
//$window.location.reload(); // This cancels any current request
$location.path('/'); // This works as expected, if path != current_path
};
$scope.impersonate = function(username) {
return auth.impersonate(username)
.then($scope.on_impersonate_success, $scope.on_auth_failed);
};
Run Code Online (Sandbox Code Playgroud)
如果我使用$window.location.reload(),那么一些$http请求auth.impersonate(username)等待响应被取消,所以我不能使用它.此外,黑客$location.path($location.path())也不起作用(没有任何反应).
是否有另一种方法可以重新呈现页面而无需再次手动发出所有请求?
我有一个同时具有ng-click和ng-submit的表单.
ng-submit用于提交,而ng-click调用单独的函数,如上传等.
如何确保ng-click不会意外提交表单?
谢谢!
很惊讶,我在从JS提交表单时遇到了这个奇怪的问题.
考虑使用submit按钮和按钮两种方式提交的简单表单anchor link
<form method="POST" action="page.html" name="foobar" id="test">
<input type="text" />
<input type="submit" />
</form>
<a href="#" onclick="document.getElementById('test').submit();">click me</a>
Run Code Online (Sandbox Code Playgroud)
捕获提交事件的函数
document.getElementById('test').onsubmit = function() {
// Same result with
// * document.foobar.onsubmit
// * document.forms['foobar'].onsubmit
alert('foobar');
return false;
}
Run Code Online (Sandbox Code Playgroud)
现在,当单击submit按钮提交表单时,我会收到警报,但是在单击链接时则不会.这是为什么这样做的?