Javascript 单击按钮或链接时如何更新acf字段值?

Javascript 单击按钮或链接时如何更新acf字段值?,javascript,php,html,wordpress,advanced-custom-fields,Javascript,Php,Html,Wordpress,Advanced Custom Fields,当用户单击下面的一个链接时,我试图使用update_field更新现有的ACF字段。创建新事件时,该字段将自动设置为“挂起”状态。当事件处于挂起状态时,用户可以在前端选择是接受还是拒绝事件。例如,如果事件被接受,当前字段中的“待定”将更新为“已接受”。与“已拒绝”相同。这是我的HTML: <a class="accept-button" onclick="">Accept</a> <a class="reject-button" onclick="">Reje

当用户单击下面的一个链接时,我试图使用update_field更新现有的ACF字段。创建新事件时,该字段将自动设置为“挂起”状态。当事件处于挂起状态时,用户可以在前端选择是接受还是拒绝事件。例如,如果事件被接受,当前字段中的“待定”将更新为“已接受”。与“已拒绝”相同。这是我的HTML:

<a class="accept-button" onclick="">Accept</a>
<a class="reject-button" onclick="">Reject</a>
我知道有两种方法可以做到这一点。一个需要刷新页面,另一个使用AJAX。我更喜欢刷新页面,而不是使用AJAX。我相信我可以用Javascript实现这一点?如果是这样,我真的不知道该怎么做。有什么建议吗?思想?非常感谢您的任何帮助


谢谢

您可以尝试以下代码

<a class="accept-button" onclick="updateStatus('Accept')">Accept</a>
<a class="reject-button" onclick="updateStatus('Reject')">Reject</a>

<form action="/updateStatus.php" method="post" name="post-status" id="post-status">
<input name="event_id" value="<?php echo $event_id;?>" type="hidden"/>
<input name="status" id="status" value="" type="hidden"/>
</form>

<script>
   function updateStatus(status) {
      $('#status').val(status);
      $('#post-status').submit();
   }
</script>
注意:代码没有经过测试,因此可能会有一些语法错误,您可能还需要根据需要更改一些内容,但我想您会了解它的工作原理
这个javascript代码还需要使用jQuery,因为您已经在使用POST,所以不能使用表单按钮。类似于
然后
如果(isset($\u POST['accept']){accept\u event();}
类型的东西。如果你保存帖子/页面,字段值将自动保存为meta\u值。非常感谢,你是一个救生员。在我的网站上实现这个功能的过程中,我遇到了一些麻烦(这也是我没有立即回复的部分原因)。必须做出一些改变,把东西放在这里和那里,学习一些新的东西。不过,谢天谢地,我还是能够弄明白。
<a class="accept-button" onclick="updateStatus('Accept')">Accept</a>
<a class="reject-button" onclick="updateStatus('Reject')">Reject</a>

<form action="/updateStatus.php" method="post" name="post-status" id="post-status">
<input name="event_id" value="<?php echo $event_id;?>" type="hidden"/>
<input name="status" id="status" value="" type="hidden"/>
</form>

<script>
   function updateStatus(status) {
      $('#status').val(status);
      $('#post-status').submit();
   }
</script>
$value = $_POST['status'];
$event_id = $_POST['event_id'];

update_event_status($value, $event_id) {
    update_field('field_53bc53fb91487', $value, $event_id);
}

// redirect back to your page