检测提交的每个表单的ID

时间:2013-07-12 15:02:00

标签: php jquery submit form-submit

我尝试修改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但在启动进程时没有其他ID表格,我尝试使用:

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

但始终检测相同的数字,并且不检测每种形式的每个ID

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

1 个答案:

答案 0 :(得分:1)

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

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