Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    cambiare id relativo a prodotto

    Ciao ragazzi, avrei bisogno di una grossa mano.
    Non so se conoscete la piattaforma stripe per i pagamenti online, ma comunque vi espongo il mio problema:

    ho 4 prodotti (selezionabili tramite radio button) ed ovviamente un pulsante che richiama poi la form
    di pagamento ed il codice javascript (qui sotto un piccolo stralcio)

    codice:
    var stripe = Stripe('chiave_di_test');
      
      var checkoutButton = document.getElementById('checkout-button');
      checkoutButton.addEventListener('click', function () {
    stripe.redirectToCheckout({
            
          //ID SKU RELATIVO AL PRODOTTO
          items: [{sku: 'sku_prodotto1', quantity: 1}],
    
    
          successUrl: 'https://your-website.com/success',
          cancelUrl: 'https://your-website.com/canceled',
        })
      });
    Quello che mi servirebbe di fare e' cambiare quell' id sku
    che vedete, assegnandogli un id diverso in base al prodotto che ho selezionato, quindi qualcosa come:
    Se seleziono radio con valore 50
    items: [{sku: 'sku_prodotto1', quantity: 1}],
    altrimenti se radio valore 100
    items: [{sku: 'sku_prodotto2, quantity: 1}],

    in modo poi da richiamare il prodotto correttamente selezionato

    Perdonatemi se magari qualcosa non e' chiaro e spero mi possiate aiutare. Vi ringrazio

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Ciao, bisogna capire come hai organizzato (o vuoi organizzare) la relazione tra il radio button scelto (e quindi il relativo value) e il valore che vuoi usare per l'id sku.

    Cioè i valori 'sku_prodottoN' li hai già memorizzati da qualche parte?
    In caso contrario, come pensi di poterli memorizzare?

    Vuoi/puoi usare un attributo data da applicare ad ogni radio button? così che tu abbia una cosa del tipo <input name="gruppo" type="radio" value="50" data-sku="sku_prodotto1">

    Vuoi/puoi usare un array o un oggetto costruito a priori? in modo che la chiave "50" corrisponda a "sku_prodotto1", la chiave "100" a "sku_prodotto2" e così via?

    Fai sapere.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Ciao! Innanzitutto grazie per la tua risposta

    Allora, io ovviamente ho gia' i 4 id per ciascun prodotto ma non li ho memorizzati. Il problema e' che di questi radio button ho solo, come attributi, nome e valore (50, 100, 250, 500) e non posso aggiungere altri attributi.
    L'ideale sarebbe che, in effetti, i vari valori corrispondano al relativo id sku.

    Cosi selezionando la radio, con valore 50 ad esempio, questa possa essere associata all'id "sku_prodotto1", la radio 100 con id "sku_prodotto2" etc etc

    Grazie ancora

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Ok, allora puoi costruirti un oggetto che funzioni a mo' di array, in cui, dato il valore come chiave dell'oggetto, ottieni il relativo valore sku.

    Una cosa del genere:
    codice:
    var stripe = Stripe('chiave_di_test');
    var checkoutButton = document.getElementById('checkout-button');
    
    var idSku = {
        50: 'sku_prodotto1',
        100: 'sku_prodotto2',
        250: 'sku_prodotto3',
        500: 'sku_prodotto4'
    }
    
    checkoutButton.addEventListener('click', function () {
        
        // Valore del prodotto selezionato
        var valProd = document.querySelector('input[name=gruppo]:checked').value;
            
        stripe.redirectToCheckout({
            items: [{sku: idSku[valProd], quantity: 1}],
            successUrl: 'https://your-website.com/success',
            cancelUrl: 'https://your-website.com/canceled'
        })
    });
    .
    Dovrebbe funzionare, ovviamente adegua alle tue esigenze il valore del name per la selezione del radio button; nell'esempio ho messo gruppo.
    Chiaramente si suppone che uno dei radio button risulti necessariamente selezionato, perché di fatto lo script andrebbe in errore se così non fosse.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Grazie mille! Allora ho provato ad implementare lo script, funziona solo per un prodotto, ovvero quello con valore 500

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Ciao, credimi, quando l'ho provato io ha funzionato. Senza vedere ciò che hai fatto non è possibile capire dove potrebbe essere il problema.
    Puoi postare un link alla pagina?
    Altrimenti, puoi fornire un esempio dove riscontrare il problema?
    Altrimenti, puoi postare il codice che hai implementato?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    No perdonami, funziona! E sembra anche alla perfezione!! Ti chiedo scusa, NetBeans non mi aveva aggiornato il file

    Ti ringrazio moltissimo! Richiamare una funzione per ogni prodotto non mi sembrava proprio la soluzione piu' elegante e funzionale.
    Grazie ancora, sei stato gentilissimo

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    No perdonami, funziona! E sembra anche alla perfezione!! Ti chiedo scusa, NetBeans non mi aveva aggiornato il file
    No problem, succede
    Mi fa piacere si sia risolto, buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.