【问题标题】:How to avoid page reload when i select dropdown list ?? and also how to get selected values php当我选择下拉列表时如何避免页面重新加载?以及如何获取选定的值 php
【发布时间】:2016-05-04 07:42:18
【问题描述】:

我遇到了一些小问题。 当我更改我的下拉列表时,页面正在重新加载。 谁能帮我 。 此代码用于检索用户 ID,根据用户 ID 获取所有应用程序 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>

我尝试删除表单,如果我删除表单下拉菜单不起作用,我将无法获得选定的值。 那怎么了?? 提前致谢!

【问题讨论】:

  • 所以您不想只通过更改选择框来提交表单?
  • @Maha Dev 我想要更改并在不提交的情况下获取该下拉列表的值

标签: php wordpress


【解决方案1】:

您的选择标签中有onchange=this.form.submit(),因此当您更改选项时,javascript 正在提交表单。

只是改变...

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

...到...

<select name="applications">

【讨论】:

  • 如果我删除 onchange 将无法获取值。
  • PHP 只运行服务器端,所以如果你想使用 php 中的值需要重新加载页面,如果你不想重新加载页面则需要使用 ajax
  • 但仍然没有得到回显
  • @JMR 得到值后你想对它做什么?
  • 基于该值,我将上传文件插入数据库
【解决方案2】:

因此,如果您只需要选择的 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>

【讨论】:

  • 我想避免使用脚本,因为我不知道如何使用 php 变量 $ 获取 javascript 变量
  • 以后我会使用这个变量来上传和下载php格式的表单
  • 好的,如果您不想使用 javascript,请删除 onchange 事件并添加一个提交按钮。选择下拉列表中的任何选项并提交!
  • 我们不能在没有提交按钮和 php 脚本的情况下获取值
  • 不!如果你想要那个值,那么你需要使用 Javascript。没有其他解决方案
猜你喜欢
  • 2014-05-20
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多