当代码放置在ColdFusion CFOUTPUT QUERY标记内时,Bootstrap按钮和下面的模式代码将失败。
如果我将代码移到cfoutput查询之外,那么它工作得很好。
显然,问题在于BootStrap模式的单个标签要求:target="staticBackdrop">用于按钮。
在cfoutput中,coldfusion需要两个标签。如果没有单个hashtag,模态就无法工作。
附近有工作吗?
<cfoutput query="q_GetPrinters">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
DELETE
</button>
<!-- Modal -->
<div class="modal fade" name="staticBackdrop" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Delete Printer?</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<!--- <div class="modal-body">
...
</div>--->
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Confirm</button>
</div>
</div>
</div>
</div>
</cfoutput>
在ColdFusion中提到id时必须使用双哈希,比如
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="##staticBackdrop">
这种双散列的原因是,在CF中,散列用于输出,因为它可以用变量名括起来。当你把target写成#staticBackDrop时,它会把它看作一个变量名&散列未正确封装。所以你会犯这样的错误。