gpt4 book ai didi

javascript - 在 [action] 属性存在的情况下强制 ngSubmit

转载 作者:行者123 更新时间:2023-11-29 21:54:31 24 4
gpt4 key购买 nike

Angular 说的...

[ngSubmit] prevents the default action (which for form means sending the request to the server and reloading the current page), but only if the form does not contain action, data-action, or x-action attributes.

那么如果您无法从 HTML 中删除 [action] 属性,您将如何覆盖此行为以在表单提交中注入(inject)自定义代码并防止定义的 [action] 被触发?

一个可能的解决方案是创建一个指令并覆盖 DOM 属性“onsubmit”。这里的缺点是当您可以使用 angular 属性达到相同目标时,您被迫在后端配置它

    app.directive("contactForm", function(){

return {
link: function( scp, elm, att )
{
elm[0].onsubmit = function( evt )
{
/* your custom code here */
}
}
};
});

提前致谢

最佳答案

如果你想在 ng-submit 被编译之前删除 action,只需创建一个具有更高优先级的指令,它会删除该属性。

app.directive('remove-action', function () {
return {
priority: 1, // ngSubmit has priority 0
compile: function (element) {
element.removeAttr('action');
return function link () {};
}
};
});

关于javascript - 在 [action] 属性存在的情况下强制 ngSubmit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com