新值将发送到数据库,页面会在提交时刷新,但字段会刷新 变得空虚。如果我再手动刷新页面,那么我明白了 新的价值。知道为什么吗?
<form action="" method="POST" class="myForm" autocomplete="off">
<input id="dateChange" type="text" name="input-test" value="<?php echo str_replace('_', '', $jikuDate); ?>" autocomplete="off">
<input id="test-form" type="submit" name="updateDate" value="Update">
</form>
然后我做
<?php
if(isset($_POST['updateDate'])){
$post = array(
'ID' => $id
);
if ('Update' === ($_POST['updateDate'] ?? false)) {
update_post_meta( $post->ID, 'usp-custom-14', $_POST['input-test']);
}
}
?>
答案 0 :(得分:0)
这就是我解决它的方式,而不是最优雅的方法:
首先:
<?php
$jikuDate = get_post_meta($post->ID, 'usp-custom-14', true);
if (isset($_POST['updateDate'])) {
// Execute this code if the submit button is pressed.
$jikuDate = $_POST['input-test'];
}
?>
然后是html:
<form action="" method="POST" class="myForm" autocomplete="off">
<input id="dateChange" type="text" name="input-test" value="<?php echo str_replace('_', '', $jikuDate); ?>" autocomplete="off">
<input id="test-form" type="submit" name="updateDate" value="Update">
</form>
然后:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
if ('Update' === ($_POST['updateDate'] ?? false)) {
$post = array(
'ID' => $id
);
$jikuDate = $_POST['input-test'];
update_post_meta( $post['ID'], 'usp-custom-14', $_POST['input-test']);
}
}
?>