如何为文本区域设置值,并使用struts2操作获取它?

2024-04-11

我是 Struts2 Web 开发的新手。我正在尝试创建一个表单,用户可以在其中输入订单的当前状态。

在形式上,

当用户选择“订单已交付”时,文本区域将显示“订单已交付”;

当用户选择“订单已取消”时,文本区域将显示“订单已取消”;

当用户选择“其他”时,文本区域将被解锁,用户可以在其中输入内容。

我的 HTML 和 Javascript 代码如下:

function setCompleteReason(reason){
        element = document.getElementById("complete_resaon");
        switch(reason){
            case "delivered":
                element.disabled = true;
                element.value = "Order Delivered";
                break;
            case "canceled":
                element.disabled = true;
                element.value = "Order Canceled";
                break;
            case "others":
                element.disabled = false;
                element.value = "";
                break;
            default:
                element.disabled = true;
                element.value = "";
        }
    }


 function completeOrderBtn() {
        element = document.getElementById("complete_resaon");

        if( element.value.length == 0){
            alert("Please input something!");
            return false;
        }
        $('#orderForm').attr('action','ordercomplete.action');
        $("#orderForm").submit();
    }
<select class="form-control" onchange="setCompleteReason(this.value)" id="selectReason">
                            <option value=""></option>
                            <option value="delivered">Order Delivered</option>
                            <option value="canceled">Order Canceled</option>
                            <option value="others">Other(Please Input)</option>
</select>

<textarea class="form-control" name="ordMVo.complete_reason" id="complete_resaon" cols="10" rows="5" maxlength="100" resize="false" disabled="true"></textarea>


<button type="button" class="btn btn-primary btn-dhl" data-dismiss="modal" onclick="completeOrderBtn(); return false;">Complete</button>

如果用户选择“其他”并自行输入值。 Struts2可以通过以下方式获取textarea的值ordMVo.complete_reason在我的 Java 操作中没有任何问题。

但是,如果用户选择“订单已交付”或“订单取消”并让 Javascript 为文本区域创建值,我的 Java 操作只会获得 NULL 值。

是否有任何特殊的方法可以为文本区域设置一个值并让 Struts2 Java 操作获取它?


禁用的 HTML 输入元素不会提交给 Struts2。您应该检查请求中的参数,或者更好地检查操作上下文中的参数,其中所有参数在填充到操作之前都存储在其中。

要解决禁用 textarea 元素的问题,您可以在该元素旁边添加一个隐藏字段

<textarea class="form-control" name="ordMVo.complete_reason" id="complete_resaon" cols="10" rows="5" maxlength="100" resize="false" disabled="true"></textarea>
<input type="hidden" id="hiddenId" name="ordMVo.complete_reason">

当您提交表单时,您应该将值设置为隐藏字段

function completeOrderBtn() {
    element = document.getElementById("complete_resaon");

    if( element.value.length == 0){
        alert("Please input something!");
        return false;
    }
    if (element.disabled){
      $("#hiddenId").val(element.value);
    }
    $('#orderForm').attr('action','ordercomplete.action');

    $("#orderForm").submit();
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为文本区域设置值,并使用struts2操作获取它? 的相关文章

  • 如何避免 TypeScript 中出现虚假的“未使用参数”警告

    我遇到过很多次这种情况 最后决定弄清楚正确的方法是什么 如果我有一个声明方法的抽象父类 然后一些具体子类在其实现中实现真正的逻辑 并且显然使用方法参数 但某些子类不需要在该方法中执行任何操作 因此不要使用方法参数 那些不必执行任何操作的方法
  • 如何在 Angular 2 应用程序中使 DateAdapter 单例?

    我正在开发一个带有延迟加载模块的 Angular 7 应用程序 我也使用有角度的材料组件 我想在日期选择器组件中本地化并支持多个区域设置 当应用程序语言发生变化时 我想在整个应用程序中全局更改它 可以通过 DateAdapter setLo
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • Browserify:如果需要,使用 module.exports,否则暴露全局

    我正在考虑采用浏览器化 http browserify org 对于我的一些项目 但想确保其他人如果想使用 捆绑的 代码就不必使用 browserify 执行此操作的明显方法是通过以下方式公开模块导出module exports以及通过一个
  • Intro.js 2页然后返回首页

    我在用intro js http introjs com 为我的网站创建一个小介绍 我希望游览从第 1 页 主页 2 另一页 然后回到第 1 页 主页 我已经成功地从第 1 2 页开始 但不确定如何让它返回到第 1 页 我对 javascr
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 在 R Shiny 中,如何使用可排序 js 将其在列表中出现的顺序次数附加到每个列表元素?

    下面的可重现代码适用于将元素从一个面板拖动到另一个面板 并在 拖动到 面板中自动使用 HTML CSS 对拖入的每个元素进行排名顺序编号 但是 我现在尝试附加到每个 拖动到 列表元素的末尾 使用某种形式的paste0 我假设 该元素在 拖至
  • 在 Chrome 中加载analytics.js时出现307重定向

    我正在构建一个网络应用程序并使用 Google Analytics analytics js 进行分析 我最近注意到 Chrome 中的分析功能无法正常工作 我使用单独模块中的标准代码片段加载分析并通过 requirejs 包含 我已验证该
  • 可选回调的 JavaScript 样式

    我有一些函数偶尔 并非总是 会收到回调并运行它 检查回调是否已定义 函数是一种好的风格还是有更好的方法 Example function save callback do stuff if typeof callback undefined
  • 如何更改元素的 CSS 类并在单击时删除所有其他类

    我如何处理 AngularJS 2 中的一种情况 即单击一个元素需要更改其自己的样式 并且如果其他元素具有该样式 则需要将其删除 最好在一个函数中 如同Angular js 如何在单击时更改元素 css 类并删除所有其他元素 https s
  • Facebook API Javascript JSON 响应

    function getUser FB api me function response console log Response is response alert Your name is response first name ale
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 响应式2列2行布局

    我一直在试图弄清楚如何创建这个布局 我有一个 2 列布局 左列有 1 行 右侧有 2 行 我试图让它流畅地调整 我遇到的问题是 我希望右侧顶部图像的顶部与左侧图像的顶部对齐 而底部图像的底部与左侧图像的底部保持对齐 我应该使用桌子吗 这是我
  • JavaScript 正则表达式两个标签之间的多行文本

    我编写了一个正则表达式来从 HTML 中获取字符串 但似乎多行标志不起作用 这是我的模式 我想将文本输入h1 tag var pattern div class box content 5 h1 lt lt h1 gt mi m html
  • 带缩略图的轮播和 bootstrap v4

    我看到了带有缩略图的轮播演示bootstrap 3 here http jsfiddle net talmand JS6JV 我正在尝试为 bootstrap v4 实现相同的功能 但无法弄清楚如何修复一些 UI 细节 例如左 右阴影覆盖整
  • 将下拉按钮和下拉菜单放在中心?

    div class dropup center block div
  • 优化 CSS 交付 - Google 的建议

    谷歌建议在 head 中使用非常重要的 CSS 内联 并在内部使用其他 CSS
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段

随机推荐