Javascript 使用GET方法选择表单

Javascript 使用GET方法选择表单,javascript,html,forms,Javascript,Html,Forms,我下面的代码选择具有POST和GET方法的表单。但是我只想选择带有GET form method属性的表单。如何使用选择器/过滤器仅检索那些将form方法设置为GET的表单元素 const jsdom = require('jsdom'); const { JSDOM } = jsdom; { const { document } = (new JSDOM(data)).window;

我下面的代码选择具有POST和GET方法的表单。但是我只想选择带有GET form method属性的表单。如何使用选择器/过滤器仅检索那些将form方法设置为GET的表单元素

    const jsdom = require('jsdom');  
    const { JSDOM } = jsdom;  
    {  
        const {  
            document  
        } = (new JSDOM(data)).window;  
      
        var all = document.getElementsByTagName("FORM");  
      
        for (var i = 0, max = all.length; i < max; i++) {  
            var aform = document.getElementsByTagName("FORM")[i];  
      
            // log aform.outerHTML  
        }  
    } 


constjsdom=require('jsdom');
const{JSDOM}=JSDOM;
{  
常数{
文件
}=(新JSDOM(数据)).window;
var all=document.getElementsByTagName(“表单”);
对于(var i=0,max=all.length;i

let getform=document.querySelectorAll(“form[method=GET]”[0]。id;
console.log(getform)
让postform=document.querySelectorAll(“form[method=POST]”[0].id;
console.log(postform)
让省略的表单=document.queryselectoral(“表单”)[2];
if(!electronic.getAttribute(“method”)){
console.log(省略.id)
}
[…document.queryselectoral(“表单”)].forEach(表单=>{
如果(!form.getAttribute(“方法”)| form.getAttribute(“方法”)=“GET”){
console.log(“id为“+Form.id+”为GET的表单”)
}else if(form.getAttribute(“方法”)=“POST”){
console.log(“id为“+Form.id+”的表单为POST”)
}
});

名字:

姓氏:
名字:

姓氏:
名字:

姓氏:

您可以使用javascript变量来实现,该变量在表单方法之间切换

let formMethod = undefined

let getForms = document.querySelectorAll(`form[method=${formMethod || 'GET'}]`)

formMethod = "POST"

let postForms = let forms = document.querySelectorAll(`form[method=${formMethod || 'GET'}]`)
你也可以用一个函数来实现

function findForms(method) {
  return document.querySelectorAll(`form[method=${method || 'GET'}]`)
}
let postForms = getForms("POST")
let getForms = getForms("GET")

let firstGetForm = getForms[0]
let firstGetFormId = firstGetForm.id

let secondGetForm = getForms[1]
let secondGetFormId = secondGetForm.id

您可以使用
querySelectorAll
来匹配比元素类型更复杂的规则

类型选择器可以按表单过滤,然后属性选择器可以检查
方法
属性

您需要小心,因为GET是默认值,所以您需要测试完全没有
方法
属性(使用
:not()
伪类)并且设置为
GET

const get_forms=document.queryselectoral(“form:not([method]),form[method='get']))
console.log(get_forms.length+“匹配表单”)


您忘记了省略
方法
属性的情况。GET是默认值。这将只适用于:
表单:not([method=POST])
。这一点很好。这会更简单。