Javascript 获取已提交表单的操作
我有以下代码,每次用户在我的网站上提交表单时都会触发 我想稍微修改它,以便它检查提交的操作,并基于特定关键字的存在,运行一些代码 我的代码如下:Javascript 获取已提交表单的操作,javascript,jquery,Javascript,Jquery,我有以下代码,每次用户在我的网站上提交表单时都会触发 我想稍微修改它,以便它检查提交的操作,并基于特定关键字的存在,运行一些代码 我的代码如下: $("form").submit(function() { //do some generic stuff var formAction = ""; //get the action of the submitted form if (formAction.indexOf('keyword') !== -1) {
$("form").submit(function() {
//do some generic stuff
var formAction = ""; //get the action of the submitted form
if (formAction.indexOf('keyword') !== -1) {
//do some specific stuff for these forms
}
});
如何获取触发此调用的
表单的操作
-
$("form").submit(function() {
//some stuff...
//get form action:
var formAction = $(this).attr("action");
//some other stuff...
});
var formAction = $(this).attr("action");
如果需要不带jQuery的Javascript:
var action=document.getElementById('formId').action
使用jQuery:
var action=$('#formId').attr('action');
在“香草”JS中,有元素.getAttribute()
或者(如果需要)您可以使用this.action
。请参见下面的细微差别
document.querySelector(“表单”).addEventListener(“提交”,函数(e){
e、 preventDefault();//防止表单提交
console.log(this.getAttribute(“action”);/“test.php”
console.log(this.action);///test.php
//this.submit();//稍后提交或使用AJAX构造请求
});代码>
在JavaScript中,您可以使用getAttribute方法:
var form = document.getElementById('register_form');
var action = form.getAttribute("action")
注意:form.getAttribute(“操作”)比使用form.action更安全。因为如果表单中有一个名为“action”的输入字段,那么浏览器可以返回该特定节点,而不是返回表单的action URL
您是否需要jQuery或类似的东西,或者它是开箱即用的?仅供参考,这对于元素使用formaction
属性覆盖操作的表单不起作用。您是否需要jQuery或类似的东西,或者它是开箱即用的?我认为使用form.action会导致歧义,因为有一个名为表中的“动作”。