Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

255
Visualizações
Actualizar el valor de InnerHTML (Echo PHP) al hacer clic en el botón

Todavía estoy en el nivel de principiante de WordPress y PHP. Ya estoy investigando en stackoverflow, pero debido a mi bajo nivel de comprensión, no puedo encontrar la solución para el problema que tengo.

Uso WordPress como CMS para mi sitio web. Uso PHP echo para mostrar el valor de calificación promedio de un complemento de revisión de usuario. Se muestra bien. Pero después de que un visitante inserta su propia calificación y hace clic en el botón Enviar, el valor de calificación promedio no se actualiza hasta que se actualiza la página. ¿Cómo actualizar automáticamente el valor de calificación promedio después de hacer clic en el botón Enviar sin tener que actualizar la página?

 <script type="text/javascript"> var userRating = <?php echo rmp_get_avg_rating( $postID ); ?> ; document.getElementById("div-rating").innerHTML = userRating; </script>

Esta es la clase de botón de envío creada por el complemento para activar el envío del usuario.

 rmp-rating-widget__submit-btn rmp-btn js-submit-rating-btn rmp-rating-widget__submit-btn--visible

Esta es la función de PHP que necesito hacer eco.

 public function load_results() { if ( wp_doing_ajax() ) { // array with vote count, ratings and errors $data = array( 'voteCount' => false, 'avgRating' => false, 'errorMsg' => '', ); $post_id = intval( $_POST['postID'] ); $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : false; // security check if( ! $post_id ) { $data['errorMsg'] = esc_html__( 'You cannot rate a web page without an id!', 'rate-my-post' ); echo json_encode( $data ); die(); } $nonce_check = $this->has_valid_nonce( $nonce ); if( ! $nonce_check['valid'] ) { $data['errorMsg'] = $nonce_check['error']; echo json_encode( $data ); die(); } $vote_count = rmp_get_vote_count( $post_id ); $sum_of_ratings = rmp_get_sum_of_ratings( $post_id ); $average_rating = rmp_calculate_average_rating( $sum_of_ratings, $vote_count ); if ( $average_rating ) { // post has been rated $data['voteCount'] = $vote_count; $data['avgRating'] = $average_rating; } else { // no ratings so far $data['voteCount'] = 0; $data['avgRating'] = 0; } echo json_encode( $data ); }; die(); }

Gracias por tu ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Sin actualizar la página web, puede tomar los datos en el servidor utilizando el objeto XMLHttpRequest en el lado del cliente. Puede encontrar muchas implementaciones (comoXMLHttpRequest , Fetch API ) que lo ayudan a comunicarse con el servidor desde el lado del cliente sin actualizar la página. Si desea utilizar una tecnología diferente ( Socket.io ), los sockets web pueden satisfacer sus necesidades en este problema.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda