- Posts: 86231
- Thank you received: 14224
Mise à jour de la quantité produit en fonction d'un champ perso
2 years 11 months ago - 2 years 11 months ago #355468
by nicolas
Replied by nicolas on topic Mise à jour de la quantité produit en fonction d'un champ perso
Bonjour,
Ok, je vois le problème.
Les deux dropdowns du haut sont des caractéristiques. Lorsque vous changez la variante sélectionnée avec, la zone du bouton d'ajout au panier et rafraîchie (en effet différentes variantes peuvent potentiellement avoir différent stocks, et donc pas le même affichage de la zone du bouton d'ajout au panier).
Pour gérer cela, il faut adapter le code:
Ok, je vois le problème.
Les deux dropdowns du haut sont des caractéristiques. Lorsque vous changez la variante sélectionnée avec, la zone du bouton d'ajout au panier et rafraîchie (en effet différentes variantes peuvent potentiellement avoir différent stocks, et donc pas le même affichage de la zone du bouton d'ajout au panier).
Pour gérer cela, il faut adapter le code:
Code:
<script>
window.hikashop.emptyFields = function() {
var button = document.queryElement('#hikashop_product_quantity_main button.hikacart');
if (button) {
button.addEventListener('click', function() {
var nomPrenomField = document.getElementById('nom_prenom');
var dateNaissanceField = document.getElementById('date_naissance');
var infosField = document.getElementById('infos');
if (nomPrenomField) {
nomPrenomField.value = '';
}
if (dateNaissanceField) {
dateNaissanceField.value = '';
}
if (infosField) {
infosField.value = '';
}
});
}
}
document.addEventListener('DOMContentLoaded', window.hikashop.emptyFields);
window.Oby.registerAjax(['hkContentChanged'], function(params){
window.hikashop.emptyFields();
});
</script>
Last edit: 2 years 11 months ago by nicolas.
Please Log in or Create an account to join the conversation.
2 years 11 months ago #355474
by thefbi
“Si tu ne travaille pas pour tes rêves, quelqu'un t'embauchera pour travailler pour les siens" - Steeve Jobs
"La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit." - Oscar Wilde
Replied by thefbi on topic Mise à jour de la quantité produit en fonction d'un champ perso
Merci,
mais avec ce code, plus rien ne fonctionne au niveau du vidage des champs, même si je ne choisi rien...
mais avec ce code, plus rien ne fonctionne au niveau du vidage des champs, même si je ne choisi rien...
“Si tu ne travaille pas pour tes rêves, quelqu'un t'embauchera pour travailler pour les siens" - Steeve Jobs
"La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit." - Oscar Wilde
Please Log in or Create an account to join the conversation.
2 years 11 months ago #355475
by thefbi
“Si tu ne travaille pas pour tes rêves, quelqu'un t'embauchera pour travailler pour les siens" - Steeve Jobs
"La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit." - Oscar Wilde
Replied by thefbi on topic Mise à jour de la quantité produit en fonction d'un champ perso
Bon, j'ai soumis notre problème à Chat GPT en lui fournissant les infos et les scripts et le problème rencontré.
Voici le script qu'il m'a généré et qui fonctionne. Merci de me dire si ça parait ok pour vous :
Voici le script qu'il m'a généré et qui fonctionne. Merci de me dire si ça parait ok pour vous :
Code:
<script>
window.hikashop = window.hikashop || {};
window.hikashop.emptyFields = function() {
// Utiliser querySelector pour cibler le bouton de panier, quel que soit son ID
var button = document.querySelector('#hikashop_product_quantity_main button.hikacart');
if (button) {
button.removeEventListener('click', emptyFieldsAction); // Supprimer d'abord l'ancien écouteur d'événement
button.addEventListener('click', emptyFieldsAction); // Ajouter le nouvel écouteur d'événement
}
}
// Fonction qui vide les champs
function emptyFieldsAction() {
var nomPrenomField = document.getElementById('nom_prenom');
var dateNaissanceField = document.getElementById('date_naissance');
var infosField = document.getElementById('infos');
if (nomPrenomField) {
nomPrenomField.value = '';
}
if (dateNaissanceField) {
dateNaissanceField.value = '';
}
if (infosField) {
infosField.value = '';
}
}
// Ajouter le code au chargement de la page
document.addEventListener('DOMContentLoaded', window.hikashop.emptyFields);
// Ré-enregistrer la fonction chaque fois que le contenu de Hikashop est modifié
window.Oby.registerAjax(['hkContentChanged'], function(params){
window.hikashop.emptyFields();
});
</script>
“Si tu ne travaille pas pour tes rêves, quelqu'un t'embauchera pour travailler pour les siens" - Steeve Jobs
"La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue quand on les poursuit." - Oscar Wilde
Please Log in or Create an account to join the conversation.
2 years 11 months ago #355482
by nicolas
Replied by nicolas on topic Mise à jour de la quantité produit en fonction d'un champ perso
Ca me parait ok oui.
Please Log in or Create an account to join the conversation.
Time to create page: 0.204 seconds