Domanda

Ho una variabile, prodotto_custom_1_ e product_name_. Questo suppone di prendere le opzioni del prodotto dall'HTML che viene visualizzato. Abbiamo alcuni prodotti che contengono quotazioni "e". Quando afferriamo queste stringhe e pubbliciamoli altrove, si interrompe al ". Ho bisogno del "rimosso o incluso dentro di noi postarlo altrove.

Come posso rimuovere o includere "e" dalle due variabili nella mia forma nascosta Iwantcheckoutform?

Un esempio di un nome del prodotto: 1/8 "x 40 'Rotolo di nastro Un esempio dell'opzione personalizzata: 1/8 "nero, 1/4" rosso

var BongoCheckout = {insertForm: function() {

var custom =new Array;
for(i=0;i< qtys.length ;i++){
        custom[i]="";
        for(j=0;j< $($("td.ys_itemInfo")[i]).children().children().length; j++){
             custom[i]= custom[i]+"   "+$($($("td.ys_itemInfo")[i]).children().children()[j]).text();
        }

$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_ID_'+(i+1)+'" value="'+codes[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_NAME_'+(i+1)+'" value="'+items[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_PRICE_'+(i+1)+'" value="'+price[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_Q_'+(i+1)+'" value="'+qtys[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_CUSTOM_1_'+(i+1)+'" value="'+custom[i]+'" /> ');

if (per_item_shipping) {
$('form[name="iwantCheckoutForm"]').append('<input type="hidden" name="PRODUCT_SHIPPING_'+(i+1)+'" value="'+shipping_cost.toString()+'"> ');
} else {
$('form[name="iwantCheckoutForm"]').append('<input type="hidden" name="PRODUCT_SHIPPING_'+(i+1)+'" value="'+shipping_cost_breakdown+'"> ');
}
}}
.

So che questa è una domanda duplicata, ma non potevo capire come implementare i suggerimenti di 10+ nella mia scrittura attuale. Non riesco a includere l'argomento Regex, senza lo script da rompere. Ho provato ad aggiungerlo all'interno del loop per.

        for(j=0;j< $($("td.ys_itemInfo")[i]).children().children().length; j++){
             custom[i]= custom[i]+"   "+$($($("td.ys_itemInfo")[i]).children().children()[j]).text(custom.replace(/\"/g, ""));
        }
.

Biame che su di me ancora un N00B e incolpalo che sul mio add. Suppongo che io non so dove devo aggiungere .replace (/ \ "/ G," ") Come questo codice sembra funzionare per gli altri.

È stato utile?

Soluzione

Invece di creare codice HTML per un elemento, basta creare l'elemento e impostare il valore.Che elimina tutti i problemi con i caratteri di scapping:

$("#iwantCheckoutForm").append(
  $('<input>', { type: 'hidden', name: 'PRODUCT_NAME_'+(i+1) }).val(items[i])
);
.

Altri suggerimenti

Utilizzare la funzione

function makeInput(name,value) {
 var tmp = $('<input type="hidden" />');
 tmp.attr('name', name);
 tmp.val(value);
 return tmp;
}
.

Esempio: http://jsfiddle.net/5ex3y/2/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top