如何让bootbox接受多行代码?

时间:2015-03-08 15:06:04

标签: javascript modal-dialog textarea bootbox

此代码有效:

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

此代码无效:

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

如果您要问我为什么需要它,就像第二个那样,那是因为该值将基于具有多行代码的textarea,我不知何故需要使用bootbox运行多行代码。

第二个可以是textarea的产品,其中Hello为第一行,world!为第二行。

3 个答案:

答案 0 :(得分:1)

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

伪代码:

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

此处需要g标志来更改所有出现次数。我们使用String.prototype.replace将已编辑的文本从textarea发送到提醒功能。

工作示例:

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>
     

答案 1 :(得分:0)

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

#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>',

答案 2 :(得分:0)

只用

bootbox.alert({ 

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