在WordPress中提交表单后保持同一页面

时间:2014-09-09 17:08:05

标签: php html wordpress

我已将我的HTML页面添加为admin wordpress的一部分(参见屏幕截图)

HTML Page in WordPress

我试图在每个提交按钮上得到它,如果记录成功添加到数据库,弹出窗口会显示“成功!”然后清除表单数据而不离开页面。目前我的设置尝试加载外部页面而不是保留在屏幕截图中的页面上。这是我的HTML和PHP:

<form class="pure-form" name="addAthlete" action="submitForm.php" method="POST">
    <fieldset class="pure-group">
        <input type="text" class="pure-input-2" name="membershipID" placeholder="Membership ID">

        <input type="text" class="pure-input-2" required="required" name="firstName" placeholder="First Name">

        <input type="text" class="pure-input-2" required="required" name="surname" placeholder="Surname">
    </fieldset>

    <button name="submitAthlete" type="submit" class="pure-button pure-input-2 pure-button-primary">Submit</button>
</form>

<?php
function showSuccess() {
    echo "Success! One record added.";
}

if (isset($_POST['submitAthlete'])) {
    addAthlete();
}

function addAthlete() {
    include 'addAthlete.php';
    showSuccess();
}
?>

我假设问题在于echo“Success”试图在submitForm.php页面上回显,这就是我编写它的方式。这是因为页面嵌入到wordpress中的方式,你可以在下面看到:

add_action( 'admin_menu', 'db_menu' );

function db_menu() {
    add_menu_page(
    'Database Form',     // page title
    'Database Form',     // menu title
    'manage_options',   // capability
    'database-form',     // menu slug
    'wpse_91693_render' // callback function
    );
}

function wpse_91693_render() {
    global $title;

    print '<div class="wrap">';
    print "<h1>$title</h1>";

    $file = plugin_dir_path( __FILE__ ) . "submitform.php";

    if ( file_exists( $file ) )
    require $file;

    print '</div>';
}

如何在每次提交的WordPress页面中弹出或显示某些内容?

谢谢!

1 个答案:

答案 0 :(得分:0)

提交表单时,会通过加载将数据发布到新网页。为了保持在同一页面上,操作应该将您带到同一页面(在那里移动处理逻辑,检查已发布的参数)或者如果您不想看到重新加载,请使用ajax。 / p>