【问题标题】:Can I add a <br/> and links to a javascript alert?我可以添加 <br/> 和指向 javascript 警报的链接吗?
【发布时间】:2009-02-26 15:53:06
【问题描述】:

我有如下声明:

btnApply.Attributes.Add("onclick", "alert('Must be a member to Use this Tool')");

有没有办法添加新行。我试过了,但它显示在文本中。此外,我可以添加一个链接来关闭警报并将用户带到另一个页面吗?

我怎样才能用我的例子做到这一点?

当我添加 \n 时,警报没有出现。

【问题讨论】:

  • 你的代码使用了魔鬼eval()。相反,你应该做类似btnApply.Attributes.Add("onclick", function(){alert('Must be a member to Use this Tool')});的事情

标签: javascript


【解决方案1】:

不能使用 HTML,但可以添加换行符:

alert('line1\nline2');

如果您确实想要一个丰富的模式弹出窗口,您可以使用jQuery's dialog 功能并将您想要的任何内容放在那里。

【讨论】:

  • 我怀疑这里对客户端代码与服务器端代码存在根本性的误解......
  • 你可能是对的。我需要了解我的客户端知识。感谢您迄今为止的帮助。
  • 当我把 \n 放在文本中时,警告框不会弹出,但是当我删除它时,它会弹出。
  • 如果文本是在服务器端代码中定义的,您需要转义 \。例如:literal1.Text = "Line1\\nLine2";
【解决方案2】:

使用 \\n(需要两个斜杠)。

您会注意到,在执行此操作之前,警报甚至不会发布 javascript 错误。 \n 将不起作用,因为斜杠需要转义。

【讨论】:

    【解决方案3】:

    您不能允许链接,但您可以有换行符。

    只需使用“\n”代替&lt;br/&gt;

    【讨论】:

      【解决方案4】:

      Javascript 有一个特定的 AlertDialog,当您调用 alert('') 时它会打开,并将整个正文视为文本 - 据我所知,无法将 HTML 添加到显示的对话框中。

      我建议使用支持可自定义对话框或模态框的 Javascript 库,如 Modal Box 以获得所需的行为(看起来会更好)

      【讨论】:

        【解决方案5】:

        您不能在 javascript 警报中使用标记。但是,您可以使用 "\n"

        来实现换行

        【讨论】:

          【解决方案6】:

          Alert 是一个相当粗糙的工具(看起来也是如此)。也许是时候考虑以一种对网络更友好的方式来做这件事了……

          在您的页面上创建一个隐藏的消息 div,而不是执行警报,而是使用一些消息标记填充它(如果您愿意,包括一个锚链接)并将其显示给用户。您可以为此添加各种漂亮的视觉技巧,包括淡入/淡出、居中、分层半透明背景等。

          编辑:jQuery 对话框(正如其他人所提到的)是处理这个问题的好方法,大多数库都会有一些小部件或其他类似的东西。

          【讨论】:

            【解决方案7】:

            简短的回答:你不能。 Javascript 对话框是基本的。

            您可以use VBScript's MsgBox method to create a custom dialog box 但这仅适用于打开 VBScript 的 Internet Explorer。不是跨平台的;不推荐。

            另一种方法是用HTML伪造它,其中大量的Javascript库providebuilt-infunctionalityfor

            【讨论】:

              【解决方案8】:

              正如 Gumbo 所说,\n 正在 100% 工作。 但是不要忘记在文本和\n之间留出空格

              【讨论】:

                【解决方案9】:

                不,alert() 只允许纯文本。所以\n 是换行符。

                【讨论】:

                • 如果我创建了一个 html 页面并且我想在 onclick 事件中打开它,我该怎么做(什么 javascript 函数)?
                • window.open() - 查一下,它有很多可配置的参数。
                • @Cerebrus,谢谢!我没想到那个!为你 +1 :)
                【解决方案10】:

                也许您可以尝试确认()而不是警报()。这个解决方案不是链接,而是按钮的重定向。

                如果您将确认包装到其他 var 中并检查真/假,则可以执行 2 个操作。

                var r=confirm("Do you wanna do"); if (r==true) { window.location.assign('register.html'); // this will be append to current url. For other, use http:// full url assignement. } else { window.location.assign(''); // cancel does nothing }

                【讨论】:

                  【解决方案11】:

                  您可以使用 \n 代替 br 换行,但请记住,如果您使用的是 alert in PHP echo,那么 \n 将不适合你。您的完整警报将消失。为此,您必须使用 \n

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2012-03-31
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-06-07
                    • 2022-06-23
                    • 1970-01-01
                    • 2011-05-13
                    • 1970-01-01
                    相关资源
                    最近更新 更多