Ajax getElementById

Summer

Nuovo Utente
29 Apr 2010
9
0
0
Buongiorno a tutti,
Premetto che non conosco bene java...

vorrei realizzare in una pagina web, un menu con diversi bottoni che settino il valore di una variabile quando vengono premuti, per poi passarla a una funzione.

come abbinare il valore della variabile al bottone?

ad esempio se utilizzo un campo di input, scrivo nel campo, invio e tutto funziona, ma se cerco di sostituire il tutto con un bottone,no.

posto il codice interessato....

Codice:
function passa() {
var tP = document.getElementById('tP').value;
ecc..

così funziona
Codice:
<input type="text" name="tP" id="tP" size="15">
<br/>
<input type="button" onClick="passa()" value="Invia">

così no
Codice:
<button type="button" onclick="passa()" name="tP" id="tP" value="TESTO DA PASSARE">TESTO DA PASSARE</button>

fondamentalmente l'incaglio è questo:
il "value" che viene letto da getElementId in caso di utilizzo di button come deve essere espresso?:confused:

Ringrazio in anticipo, buonaserata
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Una cosa ma fondamentale: Java è un linguaggio, Javascript un altro!
Usa JS se non ti va di scrivere tutto, ma non usare la parola Java perché confonde le idee. Grazie :)

Ora veniamo al tuo problema se riesco a risolverlo.
Dal manuale dell'html si evince (madonna che parolona) che button funziona come qualsiasi altro elemento di un form, e mi pare giusto vista la standardizzazione di base, quindi:
http://www.diodati.org/w3c/html401/interact/forms.html#edef-BUTTON
value viene passato alla pressione e quindi il DOM deve poterlo rilevare, non è che ti riferivi al testo interno prima della chiusura dell'elemento button? In quel caso mi pare che il nome della variabile sia proprio text, ma non ne sono sicuro al 100%.
 

Summer

Nuovo Utente
29 Apr 2010
9
0
0
Prima di tutto grazie per la risposta! scusate per la confusione tra js...
cmq ho risolto così:
Codice:
<button id="tP" name="tP" type="button" onClick="passa()" value="txtdapassare">
però se i pulsanti diventano due, cambiando il value, dopo che uno è stato premuto il valore della variabile non cambia con una successiva pressione.

approfitto ancora di questa discussione per chiedere gentilmente se è corretto avere + oggetti (i menu) con lo stesso id (ho provato a cambiare la funzione con getElementByName ma non funziona più nulla), e se resettare il testo da passare ad ogni pressione du un bottone sia la via più giusta.
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Allora: se usi l'elemento button, sappi che questo deve avere necessariamente anche il tag di chisura, a questo punto se non devi metterci del tetso o un'immagine, tanto vale che usi l'elemento input
Codice:
<input type="button" id="tP" name="tP" type="button" onClick="passa()" value="txtdapassare">
e no id identifica un valore univoco, non ci possono essere duplicati, d'altra parte lo capisci da te, se usi più tasti con testi diversi come fai a distinguerli?
Quindi la tua funzione "passa" può diventare tranquillamente:
Codice:
function passa (testo) {
var tp = testo.value;
}
mentre nell'html:
Codice:
<input type="button" id="tP" name="tP" type="button" onClick="passa(this)" value="txtdapassare">
 

Summer

Nuovo Utente
29 Apr 2010
9
0
0
&

grazie mille per l'auito! funziona tutto perfettamente!

Facendo un passo avanti però... se utilizzo il metodo .open è possibile inserire un url php che contenga il carattere &?

mi spiego meglio:

Codice:
	http.open('get', 'server.php?tp='+tP'&'lg='+lg, true);
non funzionante

Codice:
	http.open('get', 'server.php?tp='+tP, true);
funzionante

dopo vari tentativi, penso che il carattere & sia la causa del blocco... ma non riesco a trovare il sistema per passarlo comunque...

ho provato a convertire il tutto in una stringa, ma il problema dell'& non l'ho risolto

Codice:
var url = "server.php?tp="+tp"&lg"+lg;

	http.open('get', url, true);
 

andre2

Nuovo Utente
15 Mag 2010
5
0
0
approfitto ancora di questa discussione per chiedere gentilmente se è corretto avere + oggetti (i menu) con lo stesso id (ho provato a cambiare la funzione con getElementByName ma non funziona più nulla), e se resettare il testo da passare ad ogni pressione du un bottone sia la via più giusta.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
No, non è semanticamente corretto. L'ID deve essere un identificatore univoco, quindi per un solo elemento DOM. Se hai più oggetti usa l'attributo "class" al posto di "id" e recupera gli elementi con getElementsByClassName().
 
Discussioni simili
Autore Titolo Forum Risposte Data
R valore value di un id da passare in chiamata ajax Ajax 3
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
P Funzione jQuery Ajax invio file a php jQuery 1
E Php select option e ajax PHP 23
Emix Select concatenate php sql ajax PHP 2
MarcoGrazia Valori di ritorno json via ajax non visti. jQuery 1
felino ASP.net MVC: Exception e chiamata AJAX ASP.NET 1
motleyrulez Ricerca filtro con Ajax PHP 1
max1974 Grafico Ajax Javascript 4
max1974 Struttura $.ajax Ajax 7
C la chiamata ajax non ritorna alcun dato Ajax 1
max1974 Lettura Risultato $.ajax Javascript 1
motleyrulez Chiamata ajax per tabella php PHP 3
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
O [PHP] inviare dati da form e script ajax PHP 0
F limit show datatable ajax Ajax 1
Domenico_Falco1 Rendere dinamico un sito web con chiamate ajax e php e variabili json PHP 12
G Eseguire codice solo al termine della chiamata ajax Ajax 1
L Problema jQuery validation AJAX (PHP 7) PHP 6
max1974 [Javascript] Grafico ajax non funziona Javascript 0
WorldWideWeb Ajax POST con risposta JSON Ajax 2
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
A [Javascript] Ajax, Jquery e PHP Javascript 1
D [Javascript] pulsanti per comandi shell con php e ajax Ajax 7
X Problema con jquery e ajax jQuery 2
B [PHP] variabili globali in chiamate ajax PHP 0
B DEBUG - PHP+JS+AJAX PHP 10
M Inserimento dati checkbox multipli in db da ajax a php PHP 1
Axis18 Creare una barra di avanzamento con $.ajax Ajax 7
otto9due Chiamata ajax su due url è possibile? Ajax 0
G [Javascript] Problema parametro passato con ajax Javascript 4
G Chiamata ajax restituisce errore random Ajax 1
paloppa [PHP] paginazione con ajax PHP 1
filomeni Ajax e https Ajax 4
bubino8 Ajax con risultato si/no Ajax 16
A redirect da pagina php chiamata da ajax PHP 2
L Aggiungere contenuto con ajax durante lo scroll jQuery 1
M Ajax funziona in alcuni siti, in altri no! Ajax 2
otto9due Risposta ajax -> json con php Ajax 3
bubino8 [PHP] split con ajax non funziona PHP 7
C Problema chiamata Ajax Ajax 2
A Visualizzare div quando le immagini sono state uploadate con successo (Ajax) Ajax 0
S Select Concatenate Ajax, php, sql Presentati al Forum 16
otto9due Error anomalo durante invio dati $.ajax Ajax 20
F Interazione tra i form html ajax e php PHP 3
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
D Sono disperato: Menu select dinamici con Ajax e PHP PHP 1
D Sono disperato: Menu select dinamici con Ajax e PHP Ajax 2

Discussioni simili