0

我尝试修改 cms 插件并遇到表单问题

实际上我有系统可以为发送投票生成民意调查,所有表格都是这样的:

<div class="sp-poll" id="poll-<?php echo $pollid; ?>">
    <p class="sp-question">
        <?php echo $question; ?>
    </p>
    <form method="post" action="<?php echo $postFile; ?>" id="spe_form-<?php echo $pollid; ?>"></form>
</div>

javascript流程:

jQuery(function () {

    var $ = jQuery; // Because `$` is easier than using `jQuery`
    $('.sp-poll form').submit(formProcess); // Access formProcess() when the poll is submitted

    /**
     * Form Process
     * Process through the form 
     * 
     * @param object e
     */
    function formProcess(e) {

        e.preventDefault();

        var poll = $('input[name=poll]').val(),
            answer = $('input[name=answer]:checked').val(),
            div = $(this).parent(),
            action = $(this).attr('action');

        $(this).slideUp('slow', function () {
            updatePoll(action, poll, answer);
        });
    }
});

问题是每个表单都有不同的 ID,处理器只检测第一个 id,例如,如果我有 5 个具有不同 ID 的表单,在启动进程表单时只检测一个表单的一个 ID,而没有其他的,我尝试使用:

jQuery(".sp-poll form").attr(id);

但总是检测到相同的数字并且没有检测到每个表单中的每个 ID

PS:我需要发送表单 ID 属性,因为每次我在页面上创建投票时表单都会重复。我希望能够使用它们的 ID 来检测每种不同表单的数据,以便对其进行分类。

4

1 回答 1

1

使用 HTML 表单时,仅将存储在 FORM FIELDS 或 URL 中的信息发送回服务器。元素 ID 与表单完全无关——它们用于 UI 操作。

如果要将表单 ID 传递回服务器,请使用隐藏字段。

于 2013-07-12T15:06:11.393 回答