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

Utente Attivo
28 Nov 2014
201
32
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

Utente Attivo
28 Nov 2014
201
32
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
 
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 2
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 Creare elementi html con javascript Javascript 0
R Problema query con ricerca id numerico PHP 2
R [C#] Quali dipendenze occorrono su progetto "Setup" con Access Database? .NET Framework 0
F Problema con risposta PHP 0
A Sottoquery con group by per mese MySQL 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A Quale NVR con ingressi bnc ? IP Cam e Videosorveglianza 1
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 0
T Film interattivo con linguaggi web Programmazione 7
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Barierta Testo a comparsa con passaggio del mouse Javascript 13
M Estrarre valore con SELECT COUNT PHP 0
G VBA OpenForm con WhereCondition + LIKE su campi differenti MS Access 5
sara3 Offresi articolista con esperienza Offerte e Richieste di Lavoro e/o Collaborazione 2
L Problema RAM con Tomcat 8 Apache 0
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
L Menù con switch case C/C++ 1
Cosina Upload multiplo con invio allegati per email PHP 0

Discussioni simili