Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我选择下拉列表时,如何避免重新加载页面??以及如何从php中获取选定值_Php_Wordpress - Fatal编程技术网

当我选择下拉列表时,如何避免重新加载页面??以及如何从php中获取选定值

当我选择下拉列表时,如何避免重新加载页面??以及如何从php中获取选定值,php,wordpress,Php,Wordpress,我遇到了一个小问题。 当我更改下拉列表时,页面将被重新加载。 有人能帮我吗。 此代码用于检索userid,根据userid获取所有应用程序id表单下拉列表,并将其填充到下拉列表中。 如果我在下拉列表中选择值,我将存储所选值 这是我的密码 <?php $selected = " "; function get_options($select) { global $wpdb; $user_ID = get_current_user_id();

我遇到了一个小问题。 当我更改下拉列表时,页面将被重新加载。 有人能帮我吗。 此代码用于检索userid,根据userid获取所有应用程序id表单下拉列表,并将其填充到下拉列表中。 如果我在下拉列表中选择值,我将存储所选值 这是我的密码

<?php
    $selected = " ";
    function get_options($select) {
        global $wpdb;
        $user_ID = get_current_user_id();

        echo $user_ID;

        $sql = $wpdb->get_col("select Application_ID from wp3_cteTest where $user_ID = userid");
        echo $sql;

        //print_r($keysql);

        $options = "";
        while (list($k, $v) = each($sql)) {
            if ($select == $v) {
                $options.='<option value="' . $v . '" selected>' . $v . '</option>';
            } else {
                $options.='<option value="' . $v . '">' . $v . '</option>';
            }
        }
        return $options;
    }

    if (isset($_POST['applications'])) {
        $selected = $_POST['applications'];
        echo $selected;
    }
?>

<html>
    <head>
    </head>
    <body>
        <form action="" method="POST">
            <?php $default_state = 'please Select your id'; ?>
            <select name="applications" onchange=this.form.submit()>
                <option value=' ' ><?php echo $default_state ?></option>
                <?php echo get_options($selected) ?>
            </select>
        </form>
    </body>
</html>

我尝试删除表单,若我删除表单下拉列表不起作用,我将不会得到所选值。 那怎么了??
提前谢谢

您的select标记中有
onchange=this.form.submit()
,因此当您更改选项时,选中的javascript将提交表单

只要改变

<select name="applications" onchange=this.form.submit()>

…到

<select name="applications">

您的select标记中有
onchange=this.form.submit()
,因此当您更改选项时,选中的javascript将提交表单

只要改变

<select name="applications" onchange=this.form.submit()>

…到

<select name="applications">

因此,如果您只需要所选id而不提交表单,请替换此行:

<select name="applications" onchange=this.form.submit()>

为此:

<select name="applications" onchange="getval(this)">

并添加小脚本:

<script type="text/javascript">
    function getval(sel) {
       alert(sel.value);
    }
</script>

函数getval(sel){
警报(选择值);
}

因此,如果您只需要所选id而不提交表单,请替换此行:

<select name="applications" onchange=this.form.submit()>

为此:

<select name="applications" onchange="getval(this)">

并添加小脚本:

<script type="text/javascript">
    function getval(sel) {
       alert(sel.value);
    }
</script>

函数getval(sel){
警报(选择值);
}


所以你不想仅仅通过更改selecbox来提交表单?@Maha-Dev我想更改并获得下拉列表的值,而不提交。你不想仅仅通过更改selecbox来提交表单吗?@Maha-Dev我想更改并获得下拉列表的值,而不提交脚本,因为我不知道如何获得脚本javascript变量和php变量$在将来,我将使用这个变量来上传和下载phpOk中的表单,如果您不想使用javascript,请删除onchange事件并添加提交按钮。在下拉列表中选择任何选项并提交!如果没有phpNo中的提交按钮和脚本,我们就不能获得值吗!如果需要该值,则需要使用Javascript。没有任何其他解决方案我想避免使用脚本,因为我不知道将来如何使用php变量$获取javascript变量。我将使用此变量进行上传和下载表单,该表单位于phpOk中。如果您不想使用javascript,请删除onchange事件并添加提交按钮。在下拉列表中选择任何选项并提交!如果没有phpNo中的提交按钮和脚本,我们就不能获得值吗!如果需要该值,则需要使用Javascript。没有任何其他解决方案如果我删除onchange将无法获取值。PHP只运行服务器端,因此如果您想在PHP中使用该值,则需要重新加载页面,如果您不想重新加载页面,则需要使用ajax函数getval(sel){var get=sel.value alert(get);var a=get;//要传递的变量var xhttp=new XMLHttpRequest();xhttp.onreadystatechange=function(){if(xhttp.readyState==4&&xhttp.status==200){alert(xhttp.responseText)};xhttp.open(“get”,“a=+a,false);xhttp.send();}但仍然没有得到echoed@JMR得到值后,您希望对其执行什么操作?基于该值,我将向数据库中插入上载文件。如果我删除onchange,则不会获得值。PHP仅在服务器端运行,因此如果您希望在PHP中使用该值,则需要重新加载页面,如果不想重新加载页面,则需要使用ajax函数getval(sel){var get=sel.value alert(get);var a=get;//要传递的变量var xhttp=new XMLHttpRequest();xhttp.onreadystatechange=function(){if(xhttp.readyState==4&&xhttp.status==200){alert(xhttp.responseText)};xhttp.open(“GET”,“a=“+a,false”);xhttp.send();}但仍然无法获取echoed@JMR一旦你们得到这个值,你们想用它做什么?基于这个值,我将把上传文件插入数据库