0

我在phtml页面中迭代一个表单,当我单击按钮时如何提交或验证表单。
因为当我迭代表单时,所有表单的 id 都是相同的

我正在使用 Zend Framework,我像这样在我的视图中启动表单来为每个表单获取不同的 id

<?php
$commentForm = new Application_Form_Comment**($answerId)**;
 echo $commentForm?>

我发送了 $answer['answer_id'] 以将其放入表单 id 中,如下所示
<form id="comment_form64623" method="post" action="">

这是最好的方法吗?或者在 Jquery 中有一种方法来处理这个问题?

4

2 回答 2

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
于 2012-04-07T21:52:37.270 回答
0

也许您应该更改每个表单的 ID。ID 和 CSS 中的类之间的区别在于 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
});

希望这可以解决您的问题,或者至少为您指明正确的方向。

于 2012-04-07T21:48:48.997 回答