根据下拉改变数据输出

Changing Data Output depending on pull down

本文关键字:数据 输出 改变      更新时间:2023-09-26

我是coldfusion和Java Script的新手,我无法找到使此工作所需的正确语法。我想做的是,有一个下拉菜单,有三个选项;Active, Inactive和All。我们的目标是,当页面最初加载时,它默认为活动并显示所有活动的发货人。但是,如果用户想要查看非活动用户,他们可以从下拉菜单中选择该用户,并且数据应该更改为仅显示这些值。所有的都会显示active和Inactive。

我认为这样做的方法是创建一个名为Active_status的变量,然后使用Onclick来改变值并刷新页面。我使用if语句来生成数据。

<cfparam name="active_status" default="ACTIVE">

这是在开始显示活动的第一个

 <select name="active_status" id="active_status" class="tx" onchange="editTable(this.value)">
        <option value="ACTIVE" selected="selected">ACTIVE</option>
        <option value="INACTIVE">INACTIVE</option>
        <option value="ALL">ALL</option>
</select>

这是生成页面

中的选项的代码
 <script language="javascript">
function editTable( inVal )
{
    if( inVal == 'ACTIVE' )
    {
        document.getElementById( "active_status" ).value = "ACTIVE";
        window.location.reload();
    }
    else if ( inVal == 'INACTIVE' )
    {
        document.getElementById( "active_status" ).value = "INACTIVE";
        window.location.reload();
    }
    else if ( inVal == 'ALL' )
    {
        document.getElementById( "active_status" ).value = "ALL";
        window.location.reload();
    }
}
 </script>

显示活动作品,但每次选择后只显示活动作品。我确信这是由于默认我有,但我不确定正确的语法,我需要使这项工作。

如果你能在这方面帮助我,我将不胜感激。任何建议都会很好,或者如果你有更好的方法来做到这一点,我总是渴望学习新事物。

我做了改变,但它仍然没有改变时,非活动点击?

我认为这样做的方法是创建一个名为Active_status的变量,然后使用Onclick来改变值并刷新页面。

通过使用Javascript刷新页面而不进行任何AJAX调用或首先提交表单,您只需重新加载页面并重置客户端表单数据。数据无处可去——没有任何东西被发送到服务器。

如果你想动态改变使用Coldfusion显示的内容,那么你必须向Coldfusion页面发出HTTP请求。您可以通过多种方式实现这一点,但最简单的方法是使用表单提交。为了用HTML提交表单,您的表单需要三样东西:

  1. 将数据发送到(您的.cfm页面)的url,其形式为action属性。
  2. 要使用的HTTP方法,以method属性的形式出现。通常,您会使用POST
  3. 一个input标签与type="submit"。这是提交按钮,用户可以点击它来提交表单。

的例子:

<form action="myPage.cfm" method="POST">
   <!-- ...form fields go here... -->
   <input type="submit">
</form>

当使用action="POST"将表单提交到Coldfusion页面时,该页面中的Coldfusion代码可以通过使用form作用域访问提交的表单数据。例如,您将使用form.active_status从示例中的"active_status"下拉列表中获取数据。

然后,您可以使用此信息动态地确定在页面上显示的内容。示例.cfm页面:
<cfif form.active_status is 'ACTIVE'>    
    <div>Status is active</div>
<cfelse>    
    <div>Status is not active</div>
</cfif>

旁注:你不能直接使用Javascript与Coldfusion交互。它们在两台独立机器上的两个不同环境中执行:JS在客户端的浏览器中,而CF在服务器端的JVM中。