Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 在重复表单上使用jQUERY,这会增加ID_Javascript_Php_Jquery_Wordpress_Forms - Fatal编程技术网

Javascript 在重复表单上使用jQUERY,这会增加ID

Javascript 在重复表单上使用jQUERY,这会增加ID,javascript,php,jquery,wordpress,forms,Javascript,Php,Jquery,Wordpress,Forms,我有一个前端表单,它在WordPress循环中编辑帖子 这意味着,在某个页面上,我循环一个自定义的Post类型,对于每个返回的Post,我呈现一个表单,该表单在循环中编辑Post,而不是Post本身 这将为每个表单创建如下表单ID: 循环中的第一个帖子:cred_form_1096_1 循环中的第二个帖子:cred_form_1096_2 循环中的第三种形式:cred_form_1096_3 等等 表单的数量是动态的,因为它是一个基于特定参数返回特定内容的循环。 循环中可能只有3个表单,另一

我有一个前端表单,它在WordPress循环中编辑帖子

这意味着,在某个页面上,我循环一个自定义的Post类型,对于每个返回的Post,我呈现一个表单,该表单在循环中编辑Post,而不是Post本身

这将为每个表单创建如下表单ID:

  • 循环中的第一个帖子:cred_form_1096_1
  • 循环中的第二个帖子:cred_form_1096_2
  • 循环中的第三种形式:cred_form_1096_3
等等

表单的数量是动态的,因为它是一个基于特定参数返回特定内容的循环。 循环中可能只有3个表单,另一天可能会有5个表单,因为有些新的帖子在哪里发布

当单击“提交”时,我使用此jQuery通过AJAX发送表单:

jQuery(document).ready(function() { 
jQuery('#cred_form_1096_1').ajaxForm(function() { 
    alert("Thank you for your comment!"); 
}); 
}); 
当然,上述方法只适用于循环中的第一个表单,对于循环中的第二个表单,以及第三个表单,等等,我每次都需要手动调整ID! (#cred#u form_1096_2、#cred#u form_1096_3等)

有没有一种方法(例如)使用类似的东西:
#信用卡表格1096$

也就是说,表单ID中的最后一个数字应该根据循环中的表单进行调整

或者更好,它应该只“使用”最后一个位置的任何数字 比如:信用卡表格1096

如果它是循环中的第一个表单,则使用cred_form_1096_1;如果它是第二个表单,则使用cred_form_1096_2,以此类推

根本不确定这能不能做到

欢迎任何意见

更新::

这里的第一个答案很有魅力,我相信所有其他答案也一样

jQuery(document).ready(function() { 
jQuery("[id^=cred_form_1096]").ajaxForm(function() { 
    alert("Thank you for your comment!"); 
}); 
}); 
我现在使用
(“[id^=id的一部分]”)

Hm

你应该考虑使用属性选择器来实现这一点。p> 您可以将id为的f.e.表单作为目标,该表单以id的\u部分开头:

$("[id^=PART_OF_ID]").ajaxForm(function () { ...

您还可以查找包含(*=)或以($=)ID/class/type f.e.已知部分结尾的所有元素。

表示i是一个增量值。你可以简单地做:

$('#cred_form_1096_'+i)

你可以在这个类中添加一个CSS类和循环OK,很遗憾,我不确定我是否理解!对不起,我是JS/AJAX等方面的初学者。我应该如何继续?在我的编辑表单中添加一个类(比如提交按钮),然后使用这个类作为jQuery中的#id,使用
$(“.cssClass”)
你可以在五分钟内循环使用这个类的元素我会接受你的答案,我用解决方案更新了我的问题(基于你的建议)感谢您的欢迎=)这些选择器在处理生成的标记时非常有用。出于好奇,您能举一个您提到的两种可能性的例子吗?(寻找所有包含(*=)或以($=)ID/class/type f.e.已知部分结尾的元素。)我不确定如何实现这些元素的代码,我相信它们将来会派上用场!!我明白了,基本上改变的是id^,id$和id*。很好,谢谢好的,现在我可能已经过度使用了你的帮助,但也许你在这里有想法:[我现在只能以90分钟的形式发布:(]将尽快在这里更新。它是关于“如何在提交后显示帖子而不重新加载页面(AJAX)”,出于某种奇怪的原因,这对我来说不起作用,尽管这会造成(逻辑上的)错误有意义!你的意思是,我必须首先声明“I”是什么,然后按照上面的方式使用它吗?例如,I=1?是的。上面的例子假设我已经有一个值,每次你循环代码时它都会递增。这可以通过在循环开始之前定义I,然后在循环内部使用I++来实现。