获取用户输入而不是将输入硬编码到数组中

时间:2016-12-18 01:18:28

标签: javascript php jquery arrays wordpress

我正在尝试将用户输入到Wordpress查询数组中。我可以使用我的jquery代码获取输入,但我想将它添加到php数组中的'meta_value' => '123456',。如何从jquery脚本中将'meta_value' => '123456','123456'更改为var x

如果无法做到这一点,有人会建议另一种方法从输入字段中获取'meta_value' => '123456',吗?

<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("#bt").click(function(){
            var x = jQuery("#txt_name").val();
            alert(x);
        });
    });

</script>

<input type="text" id="txt_name"  />
<input type="button" id="bt"  value="click here" />




<?php

 $args = array(
        'meta_key' => 'cardnum',
        'meta_value' => '123456',
        'meta_compare' => '='
    );

$user_query = new WP_User_Query( $args );

// User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        echo '<p>' . $user->cardnum ." ". $user->nickname . '</p>';
    }
} else {
    echo 'Not available number.';
}
?>

1 个答案:

答案 0 :(得分:1)

您不需要使用表单或Ajax - 您可以使用URL查询字符串。

当jquery函数触发时,重新加载页面URL,但这次包括一个包含变量的查询字符串。

然后你可以通过PHP提取变量。

(这是启用服务器端处理源自客户端的变量的最快最简单的方法。)

<强> HTML:

$(document).ready(function(){
    $("#bt").click(function(){
        var x = $("#txt_name").val();
        window.location.href += '?x=' + x;
    });
});

<强> jQuery的:

<?php
parse_str($_SERVER["QUERY_STRING"]);
echo '<p>The value of <strong>x</strong> is... '.$x.'</p>'; 
?>

<强> PHP:

{{1}}