Javascript:如何检测当前页面是否有具有特定名称和输入的表单
我有一张像这样的表格Javascript:如何检测当前页面是否有具有特定名称和输入的表单,javascript,jquery,forms,Javascript,Jquery,Forms,我有一张像这样的表格 <form action="/aa/bbcc" method="post" id="Form1" accept-charset="UTF-8"> <input type="hidden" name="somename" value="somevalue" /> ... other stuff </form> ... 其他东西 在多个页面共享的公共$(document).ready(function())中,我想检测我
<form action="/aa/bbcc" method="post" id="Form1" accept-charset="UTF-8">
<input type="hidden" name="somename" value="somevalue" />
... other stuff
</form>
... 其他东西
在多个页面共享的公共$(document).ready(function()
)中,我想检测我是否在具有以下特征的表单的页面中
- action=“/aa//bbcc”&id=“Form1”
- name=“somename”和value=“somevalue”的输入
如果需要,页面也可以访问jquery。不使用jquery也可以。您可以选择id为的表单,检查返回的节点列表长度是否超过0。然后,您可以检查是否有名为“somename”的输入,然后检查该输入的值是否为“somevalue”
if($('#Form1[action=“/aa/bbcc”]).length>0&&('#Form1').has(“input[name='somename']))&&
$(“#Form1 input[name='somename']”。val()==“somevalue”){
console.log('found');
}
…其他东西
您可以尝试以下方法
$(文档).ready(函数(){
函数isFormPresent(){
return!!$(“form#Form1[action='/aa/bbcc']input[name='somename'][value='somevalue']])。长度
}
log(isFormPresent());
})
在选择器中尝试使用
对于单行线
$(文档).ready(函数(){
if($('form[action=“/aa/bbcc”]').find('input[name=“somename”][value=“somevalue”]')。长度>0){
console.log('ok')
}否则{
console.log('不正常')
}
})
检查以下示例
if(document.querySelector(“Form1”)&&(document.getElementById(“Form1”).getAttribute(“action”)=='/aa/bbcc')){
var elem=document.getElementById(“Form1”).children[0];
if(elem.getAttribute('name')='somename'&&elem.getAttribute('value')='somevalue')){
//过度编码
console.log('in result');
}
}
…其他东西
您忘记了问题的第二部分:输入name=“somename”和value=“somevalue”它的公共权限。但每次页面加载时,它都会单独共享到文档。每个js脚本都会作为新的js到文档。第二个代码段与第一个代码段不同。@guest271314..ya…我在标题中提到过。您可以看到..@prasad
不会返回要求“名称为的输入”的预期结果somename”和value=“somevalue”,除非OP表示“和”@guest271314…ya的第二个元素。这就是为什么我使用第二个方法发布separate
。这是您的代码使用第二个方法接受:-)没有人告诉我他将如何检查当前页面并匹配它?因为它是一个常见的$(document).ready(function(){..})代码>所以OP必须检查这个first@AlivetoDie你是什么意思?如果你问我这是什么意思,那么你可以选择任何一个答案。都是对的。忘了我的评论吧。