如何让 bootbox 接受多行代码?
How do I allow bootbox to accept multiple lines of code?
此代码有效:
<script type="text/javascript">
bootbox.alert("Hello world!");
</script>
此代码无效:
<script type="text/javascript">
bootbox.alert("Hello
world!");
</script>
如果你要问为什么我像第二个那样需要它,那是因为该值将基于具有多行代码的 textarea,我不知何故需要制作 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';
}
});
此代码有效:
<script type="text/javascript">
bootbox.alert("Hello world!");
</script>
此代码无效:
<script type="text/javascript">
bootbox.alert("Hello
world!");
</script>
如果你要问为什么我像第二个那样需要它,那是因为该值将基于具有多行代码的 textarea,我不知何故需要制作 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';
}
});