我可以使用脚本(id匹配)打开我的模态,但不会触发显示功能。我只想了解为什么我不能触发该功能?我的js语法错误吗?我应该在“文档准备就绪”功能中拥有全部功能吗?
主要
<body>
<?php
require 'connect.php';
$r = $db->getReference('guests');
$ref = $r->getChild($dat)->getChild($id);
$value = $ref->getValue();
$json = json_encode($value);
require 'model.html';
?>
</body>
<script>
$(document).ready(function(){
$('#modalas').modal('show');
var obj = JSON.parse('<?= $json; ?>');
console.log(obj);
var vardass = obj.vardas;
$("#modalas").on("shown.bs.modal", function () {
console.log(vardass)
var modal = $(this)
$("#post_form")[0].reset();
modal.find('.modal-title').text(vardass)
document.getElementById("NameInput").value = obj.vardas;
document.getElementById("LastInput").value = obj.pavarde;
})
})
</script>
答案 0 :(得分:0)
该事件称为show.bs.modal
而不是shown.bs.modal
来自https://getbootstrap.com/docs/3.3/javascript/#js-events
Bootstrap为大多数插件的唯一操作提供自定义事件。 通常,它们以不定式和过去分词形式出现- 在事件开始时触发不定式(例如show)的地方, 并且其过去分词形式(如所示)在 完成动作。
从3.0.0版本开始,所有Bootstrap事件都已命名空间。
所有不定式事件均提供preventDefault功能。这个 提供在执行动作之前停止执行动作的能力 开始。
$('#myModal').on('show.bs.modal', function (e) { if (!data) return e.preventDefault() // stops modal from being shown })