Я новичок в начальной загрузке. Я пытаюсь написать базовую страницу CRUD с пользовательской системой, используя PHP, MySQL и Bootstrap. На странице CRUD есть кнопка для добавления нового продукта и таблица для отображения всех сведений о продукте, созданных этим пользователем.
Ошибка, с которой я столкнулся, связана с кнопкой «добавить новый продукт». Как только я нажму на него, модальное окно должно появиться и запросить данные для входа. Я обнаружил, что если у пользователя уже есть продукты, хранящиеся в базе данных, модальное окно будет работать должным образом. Однако, если пользователь еще не опубликовал ни одного продукта, нажатие кнопки не откроет модальное окно, но вызовет следующую ошибку:
Uncaught TypeError: Cannot read properties of undefined (reading 'backdrop') modal.js:158
at Ni._initializeBackDrop (modal.js:158:39)
at new Ni (modal.js:69:27)
at Ni.getOrCreateInstance (base-component.js:65:41)
at HTMLButtonElement. (modal.js:363:22)
at HTMLDocument.n (event-handler.js:118:19)
Я искал и пробовал несколько решений, но ни одно из них мне не помогло. Например, включите js начальной загрузки до конца , удалите условие условия, если в нем есть модальное окно, понизьте версию начальной загрузки... Я очень ценю, если кто-то может помочь или дать подсказку о возможных причинах или о том, как найти причину.
Когда я изучаю ошибку трассировки (modal.js):
// Private
_initializeBackDrop() {
return new Backdrop({
isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,
isAnimated: this._isAnimated()
})
}
Мой код для запуска модального окна:
Add a new product
модальное окно:
aria-labelledby="staticBackdropLabel" aria-hidden="true">
Add a new product
Product Name
Sale Price
Close
Add Product
manageProduct.php:
if (isset($_POST['addProduct'])) {
try {
$sql = "insert into sells (name, username, price)
values (:name, :username, :price)";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(
':name' => $_POST['name'],
':username' => $user,
':price' => $_POST['price']);
$_SESSION['success'] = 'Product added successfully!';
}
catch(PDOException $e){
$_SESSION['error'] = 'Failed to add your product!';
}
}
моя версия начальной загрузки:
Подробнее здесь: https://stackoverflow.com/questions/767 ... ned-readin