Far partire una funzione JavaScript premendo bottone in html

urgesifabio

Nuovo Utente
20 Ago 2015
8
0
0
Ho un bottone all'interno della pagina html e vorrei che al click di questo, venga richiamata una funzione che ho creato nella pagina javascript. Come posso fare?
 
HTML:
<input type="button" value="Testo bottone" onclick="funzioneJavascript()">
Così ottieni un bottone che ha come testo il valore inserito nel tag value e quando lo premi esegue la funzione specificata in onclick
 
Se la funzione si trova su un progetto diverso da quello in cui ho l'html invece? Il bottone riconosce automaticamente qual è la funzione da far partire?
 
Se la funzione si trova su un progetto diverso da quello in cui ho l'html invece? Il bottone riconosce automaticamente qual è la funzione da far partire?
Se lo script è attivo sì, altrimenti lo devi attivare e poi basterà semplicemente richiamare la funzione.
Per attivare lo script basta che aggiungi questo nell'html :
<script type="text/javascript" src="percorso_del_file.js"></script>
 
Ultima modifica:
Se lo script è attivo sì, altrimenti lo devi attivare e poi basterà semplicemente richiamare la funzione.
Per attivare lo script basta che aggiungi questo nell'html :
<script type="text/javascript" src="percorso_del_file.js"></script>

Ho fatto tutto come dici ma cliccando sul bottone mi dà "eccezione non gestita", non riconoscendo la funzione all'interno dell'on click. Poiché lavoro in Visual Studio ho pensato che potesse essere un problema di percorso, cioè credo di aver inserito una parte inutile del percorso.

Questo è il codice che ho scritto:
<script type="text/javascript" src="C:\VisualStudioProjects\PostChiamata\PostChiamata\Post.js"></script>
 
Ho fatto tutto come dici ma cliccando sul bottone mi dà "eccezione non gestita", non riconoscendo la funzione all'interno dell'on click. Poiché lavoro in Visual Studio ho pensato che potesse essere un problema di percorso, cioè credo di aver inserito una parte inutile del percorso.

Questo è il codice che ho scritto:
<script type="text/javascript" src="C:\VisualStudioProjects\PostChiamata\PostChiamata\Post.js"></script>

Prova a scrivere tutto il codice così possiamo dare un'occhiata se c'è qualche errore
 
Allora:

- Nell'html ho il bottone, inserito con il seguente codice:

<a href="#" class="btn" data-type="submit" onclick="chiamata()">Login</a>

- Sempre nell'html ho richiamato la funzione javascript presente su un altro progetto, usando il seguente codice:

<script type="text/javascript" src="C:\VisualStudioProjects\PostChiamata\PostChiamata\Post.js"></script>

- La mia funzione javascript è questa:

function chiamata () {
$http.post('http://localhost:50156', { action: 'Login' }).
success(function(data, status, headers, config) { msg: 'OK'
}).
error(function(data, status, headers, config) { msg: 'Fail'
});
};
 
Salve, mi sto approcciando adesso al mondo della progettazione web. Ho un problema e chiedo qui perché vedo che l'argomento è simile. Ho creato un pulsante che al click dovrebbe eseguire una funzione contenuta in un tag <script> all'interno del tag <body>, ma continua a dare errore dicendo che la funzione non è definita. Ho consultato YouTube e altri siti per trovare il problema ma niente da fare. Allego il codice ringraziando in anticipo.

<html><head>

<title>Titolo</title>

</head>
<body>

<h1>Ciao</h1>
<p>
<button onclick="saluta()">Saluta</button>

</p>

<script>
function saluta(){
alert("Ciao");
}

</script>




</body></html>

So che è un programma stupido, ma ho appena cominciato!
 
Ciao e benvenuto, il solo codice che hai postato, se provo ad eseguirlo così com'è, a me non da alcun errore e funziona perfettamente per quello che è. Posso pensare che qui hai postato solo una parte o forse hai omesso qualche dettaglio importante. Puoi chiarire?
 
Ciao e benvenuto, il solo codice che hai postato, se provo ad eseguirlo così com'è, a me non da alcun errore e funziona perfettamente per quello che è. Posso pensare che qui hai postato solo una parte o forse hai omesso qualche dettaglio importante. Puoi chiarire?
No, il codice che ho inviato è completo, è un progetto solo per prova infatti. Comunque, per paura di aver scritto male, ho copiato il codice che ho inviato qui in una pagina about:blank e continua a dare lo stesso errore, ovvero:
about:blank:1 Uncaught ReferenceError: saluta is not defined
at HTMLButtonElement.onclick (about:blank:1:1)
 
Non so come tu stia testando quel codice.
Parliamo di un documento html, o di cosa?

Cosa intendi per "ho copiato il codice in una pagina about:blank"?
Scusami ma è la prima volta che sento una cosa del genere.

Io ho copiato il codice in un documento di testo che poi ho salvato con estensione .html; quindi, aprendolo come pagina sul browser, il tutto funziona perfettamente senza errori.

Ma anche usando un qualsiasi playground (qui un esempio) funziona ugualmente senza errori.

Puoi chiarire come stai provando questo codice?
 
  • Like
Reactions: Iranano
@Iranano riporto qui parte del tuo messaggio privato per poter proseguire questa discussione pubblicamente:
Ciao, scrivo qui perchè sul forum pubblico non mi fa rispondere, visto che devo aver inviato 5 messaggi per poter postare un link e la risposta me la da come replica al tuo precedente messaggio che contiene un link. Adesso ti spiego about:blank. Digitando su Google about:blank si apre una pagina completamente vuota. Da lì si fa tasto destro del mouse e poi "Ispeziona". Il codice lo ho incollato in quella sezione, l'impostazione grafica del tutto funziona perfettamente, ma poi non trova la funzione.
Avevo comprato un manuale che spiegava di fare così per testare questi codici. Chiedo scusa per la poca precisione nelle risposte prima.
Ciao, sì, è possibile che la piattaforma blocchi la pubblicazione di post se contengono particolari codici/link che potrebbero essere ritenuti malevoli.

Ok per about:blank, grazie per il chiarimento, certamente questo è un dettaglio essenziale.

So bene che con "ispeziona", e relativi strumenti di sviluppo del browser, puoi applicare codice in quel modo su una qualsiasi pagina aperta nel browser, magari per eseguire eventuali debug, ma credimi, finora non ho mai letto o sentito dire che questo possa essere un valido sistema per testare direttamente lo sviluppo dei propri elaborati.

Ad ogni modo, da quel poco che so e da quanto ho letto qua e là, lo script integrato non viene eseguito se inserito in quel modo, da qui l'errore che ricevi. Viene invece eseguito se lo si inserisce come file esterno ".js" (quindi un tag <script > che punta al file esterno) o se si inserisce lo script direttamente nella console o usando opportunamente gli strumenti di debug nella scheda "Origini" (Sources).

Per ciò che devi fare tu sarebbe forse più consono l'uso di un editor di codice con cui puoi salvare gli elaborati come file e testarli opportunamente sul tuo browser.

Non sto qui a dirti che per creare un documento html è sufficiente il semplice "Blocco note" ma se cerchi qualcosa di più completo posso giusto consigliarti di fare qualche ricerca con termini del tipo "code editor offline".

Se si tratta di iniziare un percorso di studio nella programmazione web, può essere sufficiente per il momento un editor free come "Sublime Text" o "Notepad++" o "Brackets " o tanti altri di semplice utilizzo.

Personalmente uso Notepad++ che è relativamente semplice e minimale rispetto ad altri editor o ambienti di sviluppo, ma chiaramente puoi trovarne di più o meno completi e complessi, gratuiti e non, per le più disparate esigenze.

Se poi hai bisogno di consigli più precisi su qualche particolare editor o ambiente di sviluppo, per cui non trovi risposta con delle semplici ricerche, puoi sempre aprire qualche specifica discussione sul forum.

Spero di essere stato esaustivo o quantomeno di aver fatto un po' più di chiarezza sul problema in questione.

Buona continuazione :)
 
Non so come tu stia testando quel codice.
Parliamo di un documento html, o di cosa?
@Iranano riporto qui parte del tuo messaggio privato per poter proseguire questa discussione pubblicamente:

Ciao, sì, è possibile che la piattaforma blocchi la pubblicazione di post se contengono particolari codici/link che potrebbero essere ritenuti malevoli.

Ok per about:blank, grazie per il chiarimento, certamente questo è un dettaglio essenziale.

So bene che con "ispeziona", e relativi strumenti di sviluppo del browser, puoi applicare codice in quel modo su una qualsiasi pagina aperta nel browser, magari per eseguire eventuali debug, ma credimi, finora non ho mai letto o sentito dire che questo possa essere un valido sistema per testare direttamente lo sviluppo dei propri elaborati.

Ad ogni modo, da quel poco che so e da quanto ho letto qua e là, lo script integrato non viene eseguito se inserito in quel modo, da qui l'errore che ricevi. Viene invece eseguito se lo si inserisce come file esterno ".js" (quindi un tag <script > che punta al file esterno) o se si inserisce lo script direttamente nella console o usando opportunamente gli strumenti di debug nella scheda "Origini" (Sources).

Per ciò che devi fare tu sarebbe forse più consono l'uso di un editor di codice con cui puoi salvare gli elaborati come file e testarli opportunamente sul tuo browser.

Non sto qui a dirti che per creare un documento html è sufficiente il semplice "Blocco note" ma se cerchi qualcosa di più completo posso giusto consigliarti di fare qualche ricerca con termini del tipo "code editor offline".

Se si tratta di iniziare un percorso di studio nella programmazione web, può essere sufficiente per il momento un editor free come "Sublime Text" o "Notepad++" o "Brackets " o tanti altri di semplice utilizzo.

Personalmente uso Notepad++ che è relativamente semplice e minimale rispetto ad altri editor o ambienti di sviluppo, ma chiaramente puoi trovarne di più o meno completi e complessi, gratuiti e non, per le più disparate esigenze.

Se poi hai bisogno di consigli più precisi su qualche particolare editor o ambiente di sviluppo, per cui non trovi risposta con delle semplici ricerche, puoi sempre aprire qualche specifica discussione sul forum.

Spero di essere stato esaustivo o quantomeno di aver fatto un po' più di chiarezza sul problema in questione.

Buona continuazione :)
Grazie mille davvero!
 

Discussioni simili