作为提交表单上的可选链接的类别

时间:2011-02-28 作者:Andrew

我有一个提交表单,用户可以在我的网站上提交帖子。我有三个步骤(3个表单页面),在第一个步骤中,用户选择帖子类别,单击提交按钮,然后转到下一个页面,加载分配给该类别的表单。

现在,有没有一种方法可以将类别作为链接(按钮)使用,这样当用户单击其中一个时,表单就会提交,并且他无需单击实际的提交按钮即可进入下一步?

以下是“提交”按钮的外观:

<input type="submit" name="getcat" id="getcat" class="btn_catstep" value="<?php _e(\'Continue\'); ?>" />
这是如何处理每个类别的表单:

<?php
            $Category = get_term_by(\'id\',$_POST[\'cat\'],\'p_cat\');
            $_POST[\'catname\'] = $Category->name;
        ?>

            <form name="mainform" id="mainform" class="form_step" action="" method="post" enctype="multipart/form-data">

                <ol>

                    <li>
                        <label><?php _e(\'Category\');?>:</label>
                        <strong><?php echo $_POST[\'catname\']; ?></strong>&nbsp;&nbsp;<small><a href=""><?php _e(\'(change)\') ?></a></small>
                    </li>

                    <?php echo show_form($_POST[\'cat\']); ?>

                    <p class="btn">
                        <input type="submit" name="step1" id="step1" class="btn_next" value="<?php _e(\'Continue\'); ?>" />
                    </p>

                </ol>
                    <input type="hidden" id="cat" name="cat" value="<?php echo $_POST[\'cat\']; ?>" />
                    <input type="hidden" id="catname" name="catname" value="<?php echo $_POST[\'catname\']; ?>" />
                    <input type="hidden" id="fid" name="fid" value="<?php if(isset($_POST[\'fid\'])) echo $_POST[\'fid\']; ?>" />
                    <input type="hidden" id="oid" name="oid" value="<?php echo $order_id; ?>" />
            </form>
我目前有一个基本的下拉列表中的类别,下面有提交按钮。如果我必须一个接一个地硬编码链接,没问题,只是不知道如何进行。

1 个回复
最合适的回答,由SO网友:wyrfel 整理而成

一旦你检索到了你的类别,比如$categories, 您可以这样做:

<?php
foreach ($categories as $catgory) {
    ?>
    <form id="cat-button-form-<?php echo $category->ID; ?>" action="<?php echo $url_to_step_2; ?>" method="POST">
        <input type="hidden" name="mycat" value="<?php echo $category->ID; ?>" />
        <input type="submit" name="getcat" id="getcat_<?php echo $category->ID; ?>" class="btn_catstep" value="<?php printf(__(\'Select %s &amp; Continue\'), $category->name); ?>" />
    </form>
    <?php
}
?>
然后在步骤2中阅读$_POST[\'mycat\'] 从那里开始。

结束