自定义表单不生成URL

时间:2013-05-17 作者:Amit Wadhwa

创建一个模板来加载同一页面上iframe中的内容——我甚至还没有使用ajax来避免重新加载整个页面,因为表单提交不起作用。submit按钮返回一个没有查询字符串的空URL:(任何想法

<?php
/*
    Template Name: Options Page
*/
get_header();
?>
<?php
$options= $_GET[\'options\']? $_GET[\'options\'] : "option1";
$options = ucfirst($options);
?>
<section class="post-meta fix post-nothumb  media"><section class="bd post-header fix" ><section class="bd post-title-section fix"><hgroup class="post-title fix">
    <h1 class="entry-title pagetitle"><?php echo $options; ?></h1>
</hgroup></section></section></section>
<form id="oselector" method="GET" action="<?php the_permalink(); ?>"> 
    <select name="options">
        <option <?php if ($_GET[\'options\'] == 0) { ?>selected="true" <?php }; ?> value="0">Select Option</option>
        <option <?php if ($_GET[\'options\'] == "option1") { ?>selected="true" <?php }; ?> value="option1">Option 1</option>
        <option <?php if ($_GET[\'options\'] == "option2") { ?>selected="true" <?php }; ?> value="option2">Option 2</option>
    </select>
    <input type="submit" value="Submit">
</form>
</div></div></div></div></div></div>
<iframe id="theme" src="http://www.example.com/<?php echo $options; ?>/" seamless style="border-radius: 7px; border: 1px solid rgb(218,218,219);margin: 0 auto;width: 95%; height: 100%; overflow-x: auto; min-height:800px" >
<p>Your browser does not support iframes.</p>
</iframe>
<?php
get_footer();

1 个回复
SO网友:Charles Clarkson

问题可能出在这里:

<form id="oselector" method="GET" action="<?php the_permalink(); ?>">
您的代码不在WordPress Loop. 根据Function Reference (增加强调):

\\u permalink()-显示循环中当前正在处理的帖子的permalink的URL。This tag must be within The Loop, 和通常用于在显示帖子时显示每个帖子的永久链接。由于此模板标记仅限于显示正在处理的帖子的永久链接,因此您不能使用它在日志上显示任意帖子的永久链接。Refer to get_permalink() if you want to get the permalink for a post, given its unique post id.

您可以尝试以下操作:

<form id="oselector" method="GET" action="<?php echo get_permalink( get_queried_object_id() ); ?>">

结束

相关推荐

Grasion Forms ExactTarget附加插件:创建新提要时,第2步后不会发生任何操作

这看起来是一个很棒的插件。创建新提要时,我在步骤1中检查适当的ExactTarget列表。第2步提示我选择重力表单,但当我选择表单时,不会发生其他任何事情。我的浏览器检查器将AJAX请求显示给/wp管理/管理ajax。php状态为200,但其响应内容如下:<br /> <b>Fatal error</b>: Uncaught exception \'Exception\' with message \'Serialization of \'SimpleXMLE