Newsgroup: it.comp.lang.javascript
Titolo: E' possibile sottomettere un form cliccando su un'immagine mappata?

Ciao, 
ho una mappa divisa in piu' aree: vorrei che cliccando su una
particolare area il form venisse sottomesso. 
Non so come fare, ho provato con 'OnMouseUp' che funziona per
aggiungere dei caratteri all'interno dei campi del form, ma non so
trovare una azione che faccia sottomettere i dati ....
grazie in anticipo.
--
ciao dal Tinto (aka Alessandro)
www.tinto.org


E' possibile...
...ti faccio un esempio semplice...
<map name="Livelli">
	<area alt="" shape="CIRCLE" coords="127,34,18"
onclick="document.NOME_FORM1.submit()">
	<area alt="" shape="CIRCLE" coords="18,33,17"
onclick="document.NOME_FORM2.submit()">
	<area alt="" shape="CIRCLE" coords=0,0,0>
</map>
dove NOME_FORM1 e NOME_FORM2 sono i nomi che hai assegnat a due
ipotetiche form distinte che devono essere inviate a secondo della zona
che clikki.
Mi auguro che l'esempio sia chiaro...
...se hai problemi basta bussare... ^_^
bye bye...
Amedeo

...se hai problemi basta bussare... ^_^
gia' fatto: funziona: stragrazie :-)))))


...se hai problemi basta bussare... ^_^
mi e' venuto un problem: funziona ma la funzione di controllo del form
non viene invocata i il form e' sottomesso senza controllo. Mettendo
un vecchio pulsante submit posticcio invece in controllo viene fatto.
Immagino ci sia da lavorarci un po' ...
inoltre Netscape fa capricci .... uffa ;-)



Se posti un po' di codice potremmo darti una mano...
bye...

bye...
allora, partendo dal problema che ho anche con IE, il form inizia
cosi':
<form method="post" action="
http://etcetc.etc
" name="smsform"
onSubmit="return checkForm(this)">
se la sottomissione avviene con un banale pulsante, cioe':
 <input type="submit" value="VAIIIIIII">
la funzione 'checkForm' viene eseguita e impedisce di inviare form
incompleti.
Se invece uso la mappa cliccabile con il seguente codice:
<AREA SHAPE="rect" COORDS="23,119,75,146"
onclick="document.smsform.submit()">
il form viene inviato senza controllo.
Secondo problema: con Netscape (4.72 per test) la mappa cliccabile non
va. Il codice che ho usato e' quello visto sopra per il 'submit' piu',
per altri bottoni, il seguente:
<AREA SHAPE="rect" COORDS="75,89,124,119" onMouseUp="number(0)">
dove "number(s)" e' una funzione che aggiunge il carattere 's' in una
textarea.
Per visualizzare, si tratta di un telefonino virtuale, in cui
cliccando i tasti numerici si compone il numero, cliccando il tasto di
chiamata si inviano i dati del form. Usando IE funziona, controllo
input a parte.
Mille grazie per la generosa disponibilita' :)


 textarea.
Non ti va solo con queste coordinate?
Comunque anche qui farei href="javascrip:number(0)" invece di onMouseUp.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo č abbastanza lontano.
------------------------------------------------------------------------

onClick.
ho seguito il consiglio: chiamo cosi' la funzione che ho creato:
<AREA SHAPE="rect" COORDS="23,119,75,146"
HREF="javascript:checkForm2()">
la funzione e':
function checkForm2() {
         error=0;
        calcCharLeft(smsform.charsleft);
        if (smsform.messagetext.value.length==0) {
                alert("Inserire un testo per il messaggio.");
                error=1;
        }
        if (smsform.prefix.selectedIndex==0) {
                alert("Scegliere un prefisso.");
                error=1;
        }
        if (smsform.numtel.value.length<6) {
                alert("Inserire un numero di telefono.");
                error=1;
        }
        if (error==0) {document.smsform.submit(); }
}
funziona propriamente con IE, ma con netscape cliccando non succede
nulla, ne' in caso di errore ne' in caso di form corretto.
Giusto per la cronaca, con Opera 4 funziona bene, a parte che non
vengono visualizzati gli alert .
Grazie comunque per l'auito che mi avete dato fin qui :)


 textarea.
[]
qui c'e' un errore, se non aggiungi href=qualcosa, giustamente, per NS
non e' un collegamento e non attiva nessun evento e una disfunzione dato
che anche con href non si attivano mouseUp e mouseDown; gli eventi
attivabili sono onMouseOver, onMouseOut e onClick.
<AREA href="#" SHAPE="rect" COORDS="75,89,124,119"
onClick="number(0);return false">
Saluti, Paolo

document.smsform.nomeTastoSubmit.click()
grazie, cosi' facendo lavora bene con entrambi. Pero' ho dovuto
aggiungere il pulsante 'submit' che non volevo avere nella pagina.
Cerchero' il modo di nasconderlo, se e' possibile. (hidden="true" non
gli piace).
