uno javascript (credo) per <a href dinamico

Forum per tutti i neofiti e gli esperti che vogliono proporre o rispondere ad argomenti che riguardano lo sviluppo di apllicazioni web basate in aprticolare su Html - Css - Php - MySql, ma non solo...

Moderatore: Michele

uno javascript (credo) per <a href dinamico

Messaggioda matteo » dom lug 02, 2006 8:20 pm

Ciao a tutti.
Non sono un esperto di javascript e per quello che devo fare credo serva proprio lui. Quello che mi servirebbe fare è questo:

<input name=param value=0>

poi in una pagina metto una serie di link

<a href=file1.php?x=0>
<a href=file2.php?x=0>

quello che mi serve, però, è fare in modo che se la casella di testo contiene 1234, i link mi diventino file1.php?x=1234

Qualcuno ha idea di come si può fare?

Grazie,
Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Re: uno javascript (credo) per <a href dinamico

Messaggioda Michele » lun lug 03, 2006 12:18 am

mmm
non mi è chiaro quello che ti serve...
Questo sta su una pagina
<input name=param value=0>

e questo su un' altra?
<a href=file1.php?x=0>
<a href=file2.php?x=0>


il value deve essere prefissato o deve essere modificabile da chi si trova davanti la pagina?
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Re: uno javascript (credo) per <a href dinamico

Messaggioda matteo » lun lug 03, 2006 12:25 am

Questo sta su una pagina
<input name=param value=0>

e questo su un' altra?
<a href=file1.php?x=0>
<a href=file2.php?x=0>


No, tutto su una.

il value deve essere prefissato o deve essere modificabile da chi si trova davanti la pagina?

<input name presenta un value di default cue viene poi modificato da chi naviga. Al momento del click sul link alla pagine "file1/2.php" dovrebbe venir passato un ?x=$param

Grazie, Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » lun lug 03, 2006 1:45 am

ok...
allora le soluziomio sono 2 una farla in php, facendo una pagina con un form che richiama se stessa, oppure con javascript come dicevi tu!
posso fare una domanda?
a cosa ti serve?
altra cosa...il numero di link da cosa dipende?

:roll:

p.s. spero che ci sia qualcuno libero che riesca a darti una mano...i miei ragazzi dovrebbero riuscire a realizzare la prima soluzione, per la seconda mi sa che servo io...ma devo studiare per l'uni... se trovo un ritaglio di tempo, nella peggiore delle ipotesi dopo l'esame, ti do una mano! :cry:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » lun lug 03, 2006 9:56 am

Cercavo questo:

Codice: Seleziona tutto
<input name=x value=23>
<a onclick=javascript:window.open("http://www.x.it/index.php?x="+["x"].value,"_self")> pippo </a>


Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » lun lug 03, 2006 10:23 am

io avrei pensato a una soluzione diversa, probabilmente un po' + lunga...:P
meglio così... :P

anche se ancora non ha risposto alla domanda "a che ti serve?"
:roll:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » lun lug 03, 2006 11:25 am

ehmm, ho fatto un errore nello script... è necessario inserire <input> in un <form>.
Codice: Seleziona tutto
<form name=y><input name=x value=23></form>
<a onclick=javascript:window.open("...php?x="+forms["y"].elements["x"].value,"_self")>
pippo</a><br>


Per la precisione ora mi serve per far scegliere al lettore di un sito che contiene immagini mastodontiche, di fargli decidere la dimensione dell'anteprima. Chi ha un modem opterà per un'anteprima piccola, chi ha l'adsl può prenderla più grande. Nel qual caso:

http://www.frattocchie.it/docs/priv/

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » lun lug 03, 2006 8:03 pm

beh il fatto che ci fosse il tag form era inteso...altrimenti input non avrebbe avuto ragione di esserci!
:wink:

se serve una mano nei limiti del possibile (studio) rimango a disposizione! :roll:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » lun lug 03, 2006 9:59 pm

Michele ha scritto:beh il fatto che ci fosse il tag form era inteso...altrimenti input non avrebbe avuto ragione di esserci!

Manco per sogno:
Codice: Seleziona tutto
<input id=y value=123><br>
<a onclick=javascript:window.open("....php?y="+document.getElementById("y").value,"_self")>
test</a>


Per quanto riguarda il fatto che l'avresti fatto diverso lo immagino, visto che anche io l'avevo pensato al contrario, cioè che dovesse essere il tag <input> a valorizzare direttamente gli href, e non gli href ad andarsi a cercare il valore dall'<input>. Insomma una cosa tipo:
Codice: Seleziona tutto
<input value=111 onchange=javascript:document.getElementById("x1").href="test.php?x="+document.getElementById("xx").value id=xx><br>
<a href="test.php?x=111" id=x1>xxx</a>

che però risulta alquanto ingarbugliata ed ha una gestione non ottimale per il mio caso cioè che nella pagina c'è UN <input> e TANTI <a href>, in numero non derminato a priori, che dovranno avere tutti lo stesso ?x=<input> ma ognuno una pagina diversa.
Questo comporta che il javascript all'onchange dovrebbe loopare su tutti gli <a> presenti, prendere l'href, ricostruirlo facendo la sostituzione di stringa... insomma dovrebbe fare un bell'inutile lavoretto.

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » lun lug 03, 2006 10:16 pm

Manco per sogno:

Intendi che si usa anche senza il form?
cioè penso che si possa fare, ma mi pare che da standard html sia da usare dentro form!
Per quanto riguarda il fatto che l'avresti fatto diverso lo immagino, visto che anche io l'avevo pensato al contrario, cioè che dovesse essere il tag <input> a valorizzare direttamente gli href, e non gli href ad andarsi a cercare il valore dall'<input>. Insomma una cosa tipo:
Codice:
<input value=111 onchange=javascript:document.getElementById("x1").href="test.php?x="+document.getElementById("xx").value id=xx><br>
<a href="test.php?x=111" id=x1>xxx</a>
che però risulta alquanto ingarbugliata ed ha una gestione non ottimale per il mio caso cioè che nella pagina c'è UN <input> e TANTI <a href>, in numero non derminato a priori, che dovranno avere tutti lo stesso ?x=<input> ma ognuno una pagina diversa.
Questo comporta che il javascript all'onchange dovrebbe loopare su tutti gli <a> presenti, prendere l'href, ricostruirlo facendo la sostituzione di stringa... insomma dovrebbe fare un bell'inutile lavorett

no no io la pensavo così, ma mettendo tutto in una funzione che poi creava i link in base agli argomenti!
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » lun lug 03, 2006 11:09 pm

Michele ha scritto:Intendi che si usa anche senza il form?
cioè penso che si possa fare, ma mi pare che da standard html sia da usare dentro form!

Il form serve per racchiudere una serie di input&C. in un unico blocco per essere poi inviato ad uno script con il comando submit.
E' così possibile defenire più blocchi associati a script diversi e con i dati che non si impicciano con gli altri form anche se avessero nomi uguali.
Così non puoi accedere ad un input se non passando per form. Questo è lo standard html. Secondo questo standard input accetta solo le opzioni type name value checked disabled readonly size maxlength src alt usemap tabindex accesskey accept.
(http://www.liberliber.it/biblioteca/w/world_wide_web_consortium/specifiche_html40/html/interact/forms.html#h-17.4)

Il momento che introduci il javascript esci dagli standard html così e ti ritrovi con altre proprietà aggiuntive (standardizzate dal w3c) che vanno a supporto univocamente di javascript in quanto il resto dell'html standard non saprebbe che farsene (non ha i metodi di utilizzo). Questi sono i vari onclick onchange ecc, ed il più importante id per fare in modo che javascript possa rintracciarli nella pagina e quindi usarli. Dopo questo legame entrano in gioco gli standard javascript (oggetti, metodi, funzioni...) che non hanno nulla a che vedere con l'html ma solamente con il browser.


no no io la pensavo così, ma mettendo tutto in una funzione che poi creava i link in base agli argomenti!

Ed è quello che ho fatto io approssimativamente. (n.b.: gli argomenti sono generati da una pagina php visto che se li deve prendere da file)

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » lun lug 03, 2006 11:20 pm

si matt staimo dicendo la stessa cosa... in html l'uso dell' input all'interno del form è standard come è standard usare solo l'input nel caso in cui lavoraimo con javascript! :wink:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » lun lug 03, 2006 11:32 pm

Michele ha scritto:in html l'uso dell' input all'interno del form è standard

Più che standard diciamo chè è una necessità, visto che non ci sono materiamente gli strumenti per un altro tipo di utilizzo... ma il risultato è lo stesso :wink:

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

ma avete trovato una soluzione poi?

Messaggioda nemo » dom nov 12, 2006 4:42 pm

Avete trovato una soluzione? Mi interesserebbe conoscerla...

Io ci ho pensato. Da quello che ho letto nel primo post
Quello che mi servirebbe fare è questo:

<input name=param value=0>

poi in una pagina metto una serie di link

<a href=file1.php?x=0>
<a href=file2.php?x=0>

quello che mi serve, però, è fare in modo che se la casella di testo contiene 1234, i link mi diventino file1.php?x=1234

mi sembra di capire che si tratta di modificare dinamicamente il contenuto HTML.

Ora, siccome per JavaScript la pagina HTML è un oggetto come un altro, certamente è possibile associare un metodo come onclick (su cosa, dipende solo dalla scelta del programmatore) con una proprietà come innerHTML che consente di modificare un valore dell'oggetto HTML specificato dall'id. Ovvero con la proprietà outerHTML che consente di riscrivere dinamicamente una parte del codice dell'oggetto HTML.

In altre parole, la soluzione, secondo me, dovrebbe essere quella di costruire una funzione che, attivata da un certo input (onclick, per esempio) vada a modificare l'HTML nel punto previsto del valore voluto.

Boh, non so se sono stato chiaro (mi sa di no), ma penso che questa sia la strada più semplice, se non ho capito male il problema.

Altrimenti ci sarebbe quella dei nodi (nodeType, replaceNode(), ecc.) ma mi sembra un po' più complessa...

Se poi ho capito male il problema, come non detto!
:)

Sapere una cosa è saggezza
Sapere come farla è sapienza
Farla è virtù

______________________________________

Immagine
nemo
 
Messaggi: 22
Iscritto il: sab nov 11, 2006 3:17 pm
Località: Linux City

Messaggioda Michele » lun nov 13, 2006 1:01 am

matteo ha scritto:Cercavo questo:

Codice: Seleziona tutto
<input name=x value=23>
<a onclick=javascript:window.open("http://www.x.it/index.php?x="+["x"].value,"_self")> pippo </a>


Matteo



mi sembra questa! :roll:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Prossimo

Torna a Webmaster

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron