单击收音机并将值回显到 php(wordpress 主题)

Posted

技术标签:

【中文标题】单击收音机并将值回显到 php(wordpress 主题)【英文标题】:click radio and echo value into php (wordpress theme) 【发布时间】:2020-02-02 07:01:01 【问题描述】:

我正在使用 wordpress ajax 在单击时捕获单选输入的值。我想要的只是将结果回显到 >>>php

我试图做一个全局变量,但我对此一无所知。并将其称为主题,不起作用。

wp 主题

<input class="inputsin" type="radio" name="deporte" value="<?php echo $deporte ?>">

<?php $deporte_name = 'RESULT I WANT TO PRINT HERE'; ?>

<div class="result">NOT HERE</div>

conjx.js

(function($)

    $('input[type=radio]').on('click',function()

        /CAMPOS DE SELECCION/
        var deport = $('input:radio[name=Deporte]:checked').val();
        console.log(deport);


        $.ajax(
            url :dcms_vars.ajaxurl,
            type : 'post',
            data : 
                action:'dcms_ajax_readmore',
                Deporte:deport
            ,
            success: function(datos) 
                $('.result').html(datos);
                
           );
    );
)(jQuery);

functions.php

add_action('wp_enqueue_scripts', 'dcms_insertar_js');

function dcms_insertar_js()

    wp_register_script('dcms_miscript', get_template_directory_uri(). '/js/conjx.js', array('jquery'),'1',true );
    wp_enqueue_script('dcms_miscript');

    wp_localize_script('dcms_miscript','dcms_vars',['ajaxurl'=>admin_url('admin-ajax.php')]);

add_action('wp_ajax_nopriv_dcms_ajax_readmore','dcms_enviar_contenido');
add_action('wp_ajax_dcms_ajax_readmore','dcms_enviar_contenido');

function dcms_enviar_contenido()

    $deportphp = $_POST['Deporte'];
       echo $deportphp;
    wp_die();

【问题讨论】:

【参考方案1】:

相信你可能对AJAX有误解。当进行 AJAX 调用时,它将创建一个单独的线程,将数据发送到指定的 URL。对于 WordPress,它将调用 wp ajax 文件,该文件将指向您的函数。

此函数将独立于您站点上运行的任何其他函数运行,并且回显将作为返回发送回您的 AJAX 调用,然后该线程将终止。由于 PHP 在服务器端运行而 JS 在客户端运行,因此您不能从 JS 分配 PHP 变量(因为服务器端会在客户端加载之前完成运行)。

如果您只想将单选按钮值插入到 DOM 中的不同位置,则可以使用 jQuery 来完成,而无需 AJAX 调用。

【讨论】:

明白,我唯一的问题是如何在检查时将收音机的值打印到 php 变量中。因为我只能将纯文本打印到我的 html 中

以上是关于单击收音机并将值回显到 php(wordpress 主题)的主要内容,如果未能解决你的问题,请参考以下文章

将文本框内容回显到 POST 请求中不起作用

PHP pdo 将结果回显到表中

为啥我的 php 脚本没有将结果回显到原始页面中?

表单提交后将 PHP 变量回显到 HTML [重复]

如何将 html 和 php 代码存储在要回显到 html 页面的 php 变量中

PHP返回值到div值