【问题标题】:Changing the name of the html button that is located on another page更改位于另一个页面上的 html 按钮的名称
【发布时间】:2017-04-27 18:30:41
【问题描述】:

我有 page_a.cfm 和 page_b.cfm。在第一页(page_a.cfm)a 我有一个 cfinput(类型提交)按钮,单击该按钮会将您重定向到运行一些查询的 page_b.cfm。在此页面上还有一个按钮(称为“返回”)可将您送回 page_a。 我希望 page_a.cfm 上按钮的文本根据 page_b.cfm 上的某些条件进行更改,因此当我单击 page_b.cfm 上的“返回”按钮并将我发送回 page_a.cfm 时,按钮的文本已更改。

在 page_a.cfm 我有这个:

<cfform action="page_b.cfm">
      <cfinput type="Submit" name="multiring_btn" class = "multiringButton" 
value="ACTIVATE after hours voicemail"/>
</cfform>

在 page_b.cfm 我有这个:

<cfif someConditions = true>
    Successfully changed
<cfelse>
    An error has occurred!
</cfif>


<cfform action="page_a.cfm">
    <cfinput type="submit" name="back_btn" value="Back">
</cfform>



<script type="text/javascript">
    function toggleText(multiringButton)  {
        var text = document.getElementById(multiringButton).firstChild;
        text.data = text.data == "ACTIVATE after hours voicemail" ? "DEACTIVATE after hours voicemail" : "ACTIVATE after hours voicemail"; }
</script>

但是,当我单击“返回”按钮时,page_a.cfm 上按钮的文本仍然相同。

【问题讨论】:

  • 服务器上有两个不同的页面。 JavaScript 只能修改从您的服务器传送的(单个)页面。您需要将一些值从 page_b 传递回 page_a,以便您可以更改按钮文本的值,或者将两个页面合二为一,以便您可以在组合文件中通过 JavaScript 操作按钮文本。
  • 与问题无关,但除非旧版应用程序需要它,否则请跳过 CF UI 控件,即(cfformcfinput 等),只使用普通的香草 html 控件. CF UI 的东西已经过时并且出了名的古怪。

标签: javascript html coldfusion


【解决方案1】:

您可以使用 URL 参数。在您的表单操作中,您可以附加参数:

<cfform action="page_a.cfm?back=true">
    <cfinput type="submit" name="back_btn" value="Back">
</cfform>

然后在您的页面上,您可以使用 JS 拉取 URL 参数并更改按钮的文本。获取参数的多种方式见此贴:How can I get query string values in JavaScript?

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2019-01-04
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2020-10-18
    • 2022-11-22
    相关资源
    最近更新 更多