【问题标题】:Popup window with three buttons带有三个按钮的弹出窗口
【发布时间】:2023-03-07 19:10:01
【问题描述】:

当用户点击文本时,我需要弹出一个带有三个按钮的窗口。

我的 java 类中有什么:

myHtml.append("<a href=\"" + myUrl+ "\" onclick=\"javascript: return confirm('" + myMessage + "')\">" + myLink + "</a>");

我需要的是不要使用“确认”。我需要使用类似于 confirm() 的弹出窗口,但有 3 个不同的操作。

如何替换 confirm() 以执行 3 种不同的操作,而不仅仅是“确定”和“取消”?

编辑

我有另一个想法,我可以从 java 类中调用 prompt 但我的问题是如何在我的 java 类中获取提示结果??

myHtml.append("<a href=\"" + myUrl + "\" onclick=\"javascript: return prompt('" + myMessage + "')\">" + myLink + "</a>");

【问题讨论】:

  • 使用 jquery ui 对话框或其他一些自定义插件。
  • 为什么用“java”标记? JavaScript 和 Java 是完全不同的东西。
  • @VGR 因为 Struts 是 Java,我假设,并且框架可能包含相关功能。 (不过,因为它没有区分 Struts 1 和 Struts 2,所以很难说。)
  • 我无法将 jquery 添加到我的项目中,我根本没有使用它。请在我编辑我的问题后帮助我

标签: javascript html web


【解决方案1】:

如果不使用 JQuery 或其他一些自定义对话框,我认为不可能出现带有三个按钮的警报弹出窗口。 (正如this question 中已经指出的那样)

由于您将 prompt() 函数作为您的 html 文档的一部分调用,因此我看不到将结果也返回给您的 java 程序的可能性。但是,您可以扩展附加到 onclick 属性的函数,以便将其发送到您的 java 程序,即使我认为这不是一个优雅的解决方案。

【讨论】:

    【解决方案2】:

    您需要为具有三个按钮的自定义弹出窗口编写脚本。试试这个。

    <script>
      $(function() {
        $( "#dialog-confirm" ).dialog({
          resizable: false,
          height:100,
          modal: true,
          buttons: {
            "Button 1": function() {
              $(this).dialog( "<something>");
            },
            "Button 2": function() {
              $(this).dialog( "<something>");
            },
            Cancel: function() {
              $(this).dialog( "close" );
            }
          }
        });
      });
      </script>
    </head>
    

    在您的 html 页面的正文标记中。使用以下:

    <div id="dialog-confirm" title="Empty the recycle bin?">
      <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Your text here.</p>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多