如何允许引导框接受多行代码

How do I allow bootbox to accept multiple lines of code?

本文关键字:代码 何允许      更新时间:2023-09-26

这段代码有效:

<script type="text/javascript">
bootbox.alert("Hello world!");
</script>

此代码不起作用:

<script type="text/javascript">
bootbox.alert("Hello 
world!");
</script>

如果你要问为什么我需要像第二个一样,那是因为该值将基于具有多行代码的文本区域,我需要以某种方式使bootbox使用多行代码运行。

第二个可以是文本区域的产物,其中Hello作为第一行,world!作为第二行。

使用简单的正则表达式将换行符'n转换为<br>

伪代码:

 textAreaObjectText.replace(/'n/g, "<br />");

此处需要 g 标志来更改所有匹配项。我们使用String.prototype.replace将编辑后的文本从文本区域发送到警报功能。

工作示例:

document.querySelector("button").addEventListener("click", function(){
    bootbox.alert(document.querySelector("textArea").value.replace(/'n/g, "<br />"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script src="https://github.com/makeusabrew/bootbox/releases/download/v4.4.0/bootbox.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
<textarea>
Hello
World
We're testing
this
alert
</textarea>
<button>open alert</button>
     

和你有同样的问题。这是我解决它的方式

#php code
$comment = json_encode($comment);
#js code
var comment = <?= $comment ?>;
$('#clickSomething').click(function(e){
e.preventDefault();
bootbox.dialog({
    title: '<span class="text-success">Bootbox Title</span>',
    message: '<div class="form-group"> ' +
             '<label class="control-label" for="project-description">Comment</label> ' +
            '<textarea id="comment" class="form-control" maxlength="1024" rows="8" placeholder="Optional Comment">' + comment + '</textarea> ' +
            '</div>',

只需将您的消息与

bootbox.alert({ 
    title: "Guardado",
    message: ` Something
    <br>
    else
    `, 
    callback: function(){ window.location.href = 'lista/mensaje'; 
    }
});