document.getElementsByName con wild character

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti.
Quadro generale: sul nostro sito (che utilizza Wordpress) c'è una pagina con 8 prodotti che vendiamo singolarmente e una seconda pagina con 3 menù che devono essere acquistati con ll minimo d'ordine di 2 ciascuno.
Sto utilizzando un plugin per la gestione del carrello che, vista la semplicità della proposta, è perfetto (si chiama Simple Cart PayPal).
Posso utilizzare una sola istanza del carrelo sul sito, e anche questo mi va bene: sia che il cliente ordini dalla pagina dei piatti singoli che dalla pagina dei menù, tutto finisce in un'unico carrello.
Devo però controllare che se l'ordine comprende un menù, questo abbia come quantità minima 2.
Riesco a identificare se si tratta d un menù perchè i tre prezzi sono tutti superiori ai 75 euro, mentre tutti i singoli piatti hanno prezzi inferiori ai 30 euro).
Il valore di "quantità" lo recupero con
Codice:
var xq = document.getElementsByClassName("wspsc_cart_item_qty")[0].value;
Per quanto riguarda invece i prezzi, questi sono riportati sulla pagina del carrello con <input name="amount_1", name="amount_2" eccetera.
Sto provando a selezionare quindi tutti i nomi amount_* ma non riesco a capire come fare.
In una RegEx i caratteri wild dovrebbero essere .* ma se scrivo
Codice:
var xprod = document.getElementsByName("^amount_.").lenght;
ottengo UNDEFINED
E' possibile trovare sulla pagina i valori di tutti gli elementi il cui nome inizia con amount_ ?
Grazie per i sugggerimenti...
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Ciao, il metodo getElementsByName() non supporta i caratteri wild o altre cose simili. Prova incece con querySelectorAll(), dove puoi usare una stringa basata sui selettori CSS.

Puoi quindi fare una roba del genere:
JavaScript:
var xprod = document.querySelectorAll('input[name^="amount_"]').length;

Prova e fai sapere.
 
Ultima modifica:

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Ciao,
ho provato come indicato e mi ritorna sempre UNDEFINED.
Il miglior risultato fino ad ora l'ho ottenuto con document.getElementsByTagName("INPUT[name^='amount']").length;
che però mi dà zero come lenght... ovviamente se uso solo il tag INPUT me li conta tutti.
Ci sarà il modo di selezionare i valori contenuti negli input con nome amount(qualcosa)... ?
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
forse perché length va sempre scritto con la h finale... ho notato ora che prima lo hai scritto sbagliato e io ho copiaincollato sbagliato :p ... ora ho corretto il codice nel mio precedente post
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
azz.
che stupido... hai ragione! era scritto sbagliato... ho sbagliato la prima volta, poi copia e incolla cambiando solo qualche pezzo... e l'errore è rimasto!
Grazie!
Ora in effetti querySelectorAll funziona esattamente come ci si aspetta, ovviamente!
Alla prossima
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Bene, mi fa piacere si sia risolto. Buon proseguimento :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
P javascript:document.forms Javascript 7
Cosina Link in document ready function jQuery 0
A [Javascript] document createElement Javascript 0
gandalf1959 [Javascript] document.getElementById non funziona come mi aspetto Javascript 4
A sito responsive - calcolare l'altezza document di 2 php Ajax 4
C if dentro document.getElementById("").innerHTML Javascript 1
S IE document mode standard HTML e CSS 2
Devil-94 document.scripts restiture tutti script presenti nella pagina. Javascript 3
L sostituzione contenuto diversi div con document.getelementbyid Javascript 1
Devil-94 Creare elemento nella tabella con document.createElement("td") Javascript 1
K nome host della macchina (document.location.hostname) non funziona Javascript 1
L document.getElementById .textContent o altro? Javascript 6
P document.getElementsByClassName non funziona Javascript 36
A Navigazione jQuery [era: $(document).ready(function(){] jQuery 3
C document.getElementById("xxxxx").innerHTML iterato con un for Javascript 11
Shyson getElementById o document.write? Javascript 3
F Document type does not allow element DIV here HTML e CSS 3
voldemort Diffrenza tra $(document).ready vs. $(window).load jQuery 1
E titolo pagina con document.getElementsByTagName('title') Javascript 4
emanuelevt document.body.scrollTop - window.onscroll Javascript 0
A document.lastmodified ritorna data odierna!? Javascript 0
N semplice document.write() Javascript 1
SolidSnake4 type document HTML e CSS 1
B concatenare stringhe nel document Javascript 1
G Sostituzione di document.all Javascript 1
I Conta pagine document dinamico Javascript 3
F Cookie e document.write Javascript 15
F Inserire HTML del document in una variabile Javascript 4
S Dimensioni di document Javascript 1
B problema con document.form3.<nome_campo>.value Javascript 1
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
M Aggiunta prodotti nel carrello con lo stesso in e varianti diverse PHP 0
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Problema con position absolute e overflow HTML e CSS 4

Discussioni simili