我正在 phtml 页面中迭代一个表单
当我点击按钮时,如何提交或验证表格。
因为当我迭代表单时,所有表单的id都是相同的
我正在使用Zend Framework,我在我的视图中启动Form,以便为每个表单获取不同的ID
<?php
$commentForm = new Application_Form_Comment**($answerId)**;
echo $commentForm?>
我发送了$ answer [&#39; answer_id&#39;],将其置于表单ID中,如此
<form id="comment_form64623" method="post" action="">
是最好的方法吗?或者Jquery有办法解决这个问题吗?
答案 0 :(得分:1)
我会说,不是它不是好方法,附加ID,就像那样。配置zend的表单将id作为隐藏参数,最后呈现为
<form id="comment_form" method="post" action="">
<input type="hidden" name="answer_id" id="answer_id" value="64623" />
接下来,配置jQuery将表单的位置更改为不同的位置并更新,如
$("form").appendTo($("#newDiv")); //Place the for somewhere else
$("#answer_id").val(newval); //Set a new id for the form
答案 1 :(得分:0)
也许您应该更改每个表单的ID。 CSS中的ID和类之间的区别在于ID不能多次使用,类可以。如果你有id="form1"
和id="form2"
这样的表单,那么你会很好地找到它,但是将它们全部设为id="form1"
会导致一些问题。
要回答你的问题,jQuery可以很好地解决这个问题,它可以像这样工作......
假设您的所有表单都有类似的类(class="formObject"
),您可以使用以下命令同时在所有表单上运行代码:
$(".formObject").each(function() {
//Do whatever
});
相反,如果您想要处理单个表单,您应该通过ID(请记住,对于页面上的所有其他ID应该是唯一的)来调用它:
$("#form1 input[type=submit]").on("click", function() {
//Do whatever
});
希望这可以解决您的问题,或者至少指出您正确的方向。