Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:如何检测当前页面是否有具有特定名称和输入的表单_Javascript_Jquery_Forms - Fatal编程技术网

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你是什么意思?如果你问我这是什么意思,那么你可以选择任何一个答案。都是对的。忘了我的评论吧。