Distinguere l’input di due pulsanti

mario22

Nuovo Utente
30 Nov 2012
5
0
1
Ciao Ragazzi, e scusate in anticipo la mia domanda da “novello principiante”, ma tale sono.

È mia intenzione aggiornare un database tramite un form di selezione, aggiungere una voce o cancellare una voce.
Allo scopo ho realizzato due pagine asp una per la richiesta e l’altra per ricevere la selezione effettuata.

La mia domanda è: in ricezione come faccio a distinguere il pulsante che ho pigiato?
Ovvero se ho spinto il pulsante “Submit Aggiungi” piuttosto che “Submit Cancella”?

Ho letto che bisognerebbe “sfruttare” la proprietà name dell’input type, ma in che modo?
Un piccolo esempio mi sarebbe di grande aiuto. Confido in voi per amare questo materia.

Inoltre perché nella pagina di ricezione non mi si visualizza il parametro codice?
Grazie a tutti.

Ecco quello che sono riuscito a fare fino ad ora.

1)File asp per la richiesta
HTML:
<% 
Dim strCodice: codice = session("codice")
codice="3355"
%>

<form name"riviste" method="post" action="eleriviste.asp" >
	<select name="selriviste"> 
		<option value="RIVISTA-1" selected="selected">Rivista-1</option>
		<option value="RIVISTA-2">Rivista-2</option>
		<option value="RIVISTA-3">Rivista-3</option>
		<option value="RIVISTA-4">Rivista-4</option>
	</select>
		<input type="submit" name="Aggiungi" value="Aggiungi"> 
		<input type="submit" name="Cancella" value="Cancella">
</form>

2) File asp per la ricezione
HTML:
<%
 Dim strRivista
 Dim strCodice: codice = session("codice")
 strRivista = request.form("selriviste")
 response.write strRivista
 response.write strCodice
 %>
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

non ho capito cosa serve con i pulsanti, hai due type=submit ma uno deve cancellare.......

per il resto

Codice:
<% 
Dim strCodice 
strCodice="3355"
session("codice") = strCodice
%>


Codice:
<%
 Dim strRivista
 Dim strCodice 
 strCodice = session("codice")
 strRivista = request.form("selriviste")
 response.write strRivista
 response.write strCodice
 %>

Valeria.
 

mario22

Nuovo Utente
30 Nov 2012
5
0
1
Vale, grazie per l'aiuto sulla seconda domanda. L'ho provato e funziona benissimo, non avevo dubbi.
Con la prima domanda intendo aggiornare una database.
1) Scelgo un valore dalla Select
2) Lo invio alla pagina di ricezione con uno dei due pulsanti
3) Se ho premuto Aggiungi, aggiungerò il valore al database
4) Se ho premuto Cancella, eliminerò il valore dal database.

Quindi domando; nella pagina di ricezione come riconosco il pulsante che ho premuto?

Per brevità non ho postato la parte della scrittura o cancellazione sul database, cosa che spero di saper fare.

Mi viene un dubbio, ho forse impostato male il problema? Questa cosa di scrivere o cancellare
un record dal database si può fare in un altro modo?
Grazie ancora per la tua disponibilità
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

per sapere quale pulsante è stato premuto devi impostare in una if recuperando il nome (name) e il value del pulsante.

Se vuoi far eseguire una determinata operazione al pulsante Aggiungi

Codice:
If request("Aggiungi")="Aggiungi" then

operazione da eseguire

end if

dove fra le parentesi tonde va il name del pulsante = "" il value ="Aggiungi"

es: sempre con il precedente esempio, con l'aggiunta di una condizione di controllo per sapere quale tasto è stato premuto


Codice:
<%
dim pippo
If request("Aggiungi")="Aggiungi" then
pippo="Tasto premuto Aggiungi"
else
pippo="Tasto premuto Cancella"
end if
Dim strRivista
Dim strCodice 
strCodice = session("codice")
strRivista = request.form("selriviste")
response.write strRivista & " "
response.write strCodice & " "
response.write pippo
%>

adesso stampa il value selezionato dall'option della select, la variabile di sessione e quale tasto è stato premuto

dovendo solo stampare un testo basta un else in altro fai una if per i due pulsanti.

per le operazioni inserimento o cancallazione dati non è appropriato farlo in questo modo, almeno per la cancellazione dove è bene cancellare dati per un valore univoco un ID , un campo contatore che non può mai avere due o più valori uguali 1 2 3 4 ..... 100 se un ID viene cancellato non esisterà più, se hai 10 record e cancelli quello con valore (ID 10) quell'ID non sarà più recuperabile, cancello il 10, 8 9 11 il successivo ID dopo il 9 diventa l'11°.

Quindi per la funzione DELETE di asp si passa un valore univoco in querystring alla pagina che si occuperà di cancellare tutti i dati relativi a quell'ID.

Faccio un esempio, ho 10 record e voglio cancellare il 4 (quarto ID=4)

nell'action del form si passa alla pagina di cancellazione dati il numero dell'ID da cancellare

es:

<form name"riviste" method="post" action="cancella.asp?ID=4">

nella pagina cancella.asp recuperi il dato passato in querystring e lo passi alla funzione delete di asp.

Per non prolungare troppo, passando l'ID come nel form (o tramite un semplice link ipertestuale), nella pagina cancella varifichi quale ID è richiesto e lo passi alla funzione DELETE di asp.

es di cancella.asp:

Codice:
<%
ID=request.QueryString("ID")

connessione al database

SQL = "DELETE FROM nome_tabella WHERE ID = " & ID &";"

eseguo la query e cancello l'ID  4

questa è il metodo logico per le DELETE o UPDATE

Valeria.
 

mario22

Nuovo Utente
30 Nov 2012
5
0
1
Valeria, grazie per le preziose informazioni, le studierò con cura e sicuramente ne trarrò buon profitto.
Grazie ancora ti terrò aggiornata.
 

mario22

Nuovo Utente
30 Nov 2012
5
0
1
Distinguere l’input di due pulsanti + checkBox

Ciao Valeria, My teacher, grazie ancora per le “dritte” che mi hai dato, ho passato questi giorni a studiarle e applicarle e ti confesso che ho ottenuto buoni risultati.
Ora ho un’altra richiesta da fare, riguardo le checkBox.
E’ possibile attivare e/o disattivare queste caselline ed immediatamente far registrare il loro cambiamento in un database?
Intendo far registrare il loro stato nel database al solo cambio del segno di spunta, senza dover premere altri pulsanti per inviare il comando?
Grazie in anticipo per la prossima dritta.
Ciao mario22
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao Valeria, My teacher, grazie ancora per le “dritte” che mi hai dato, ho passato questi giorni a studiarle e applicarle e ti confesso che ho ottenuto buoni risultati.
Ora ho un’altra richiesta da fare, riguardo le checkBox.
E’ possibile attivare e/o disattivare queste caselline ed immediatamente far registrare il loro cambiamento in un database?
Intendo far registrare il loro stato nel database al solo cambio del segno di spunta, senza dover premere altri pulsanti per inviare il comando?
Grazie in anticipo per la prossima dritta.
Ciao mario22


Ciao,

i checkbox sono per selezioni multiple, se vuoi fare un'azione quando uno è attivo non puoi solo con ASP senza un'action di un form, javascript associando la funzione ASP all'evento onclick di javascript, ma è alquanto scomodo e inutile. Vedi tu.


Valeria.
 

mario22

Nuovo Utente
30 Nov 2012
5
0
1
Distinguere l’input di due pulsanti + checkBox

Vale grazie per la risposta. Nel frattempo ho risolto in questo modo:
nel campo del database faccio scrivere “SI” se la checkBox è attiva
Come prima cosa leggo il database
Poi scrivo il codice qui sotto
Passo i parametri alla pagina asp del database, lo aggiorno e ritorno indietro sulla mia pagina con la checkBox variata di stato.

Un pò macchinoso ma funge.
Grazie ancora, e mi prenoto per un prossimo consiglio.


HTML:
<%if intervista(4)="SI" then tipo="C4B" else tipo="C4A" end if%>
<input type="checkbox" name="check1" value="1"  onClick="parent.location = '/dbIntervista.asp?scelta=<%Response.Write(tipo)%>'"<% If intervista(4) = "SI" Then %> checked="" <%ELSE%> "" <% End If %> />
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Vale grazie per la risposta. Nel frattempo ho risolto in questo modo:
nel campo del database faccio scrivere “SI” se la checkBox è attiva
Come prima cosa leggo il database
Poi scrivo il codice qui sotto
Passo i parametri alla pagina asp del database, lo aggiorno e ritorno indietro sulla mia pagina con la checkBox variata di stato.

Un pò macchinoso ma funge.
Grazie ancora, e mi prenoto per un prossimo consiglio.


HTML:
<%if intervista(4)="SI" then tipo="C4B" else tipo="C4A" end if%>
<input type="checkbox" name="check1" value="1"  onClick="parent.location = '/dbIntervista.asp?scelta=<%Response.Write(tipo)%>'"<% If intervista(4) = "SI" Then %> checked="" <%ELSE%> "" <% End If %> />


Ciao,

come detto in precedenza devi usare funzioni e metodi di javascript, hai pensato al fatto che è possibile aggionare lo stato del checkbox senza nessun click?

basta scrivere la url della pagina dbIntervista.asp?scelta=<%Response.Write(tipo)%>

es: se il tuo host (o sito in locale) URL/dbIntervista.asp?scelta=C4B o C4A per modificarne lo stato.

Ti consiglio di usare un form e mettere la destinazione nell'action + un controllo che verifichi che i dati passati alla pagina dbIntervista.asp non siano accessibili a modifiche dirette. Controlla il referer.

Al posto di un campo testo dove confronti una stringa usa un campo SI/NO dove cambi lo stato da 0 a 1 (NO SI). Se è flaggato è 1 se non lo è 0

Metti una querystring al posto del response.write.

Valeria.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L [PHP] Distinguere submit da reload. PHP 2
M jQuery Right Click (distinguere il click sul tasto destro dal sinistro) jQuery 2
G Input checkbox in CSS HTML e CSS 0
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
M Come recuperare molteplici input form PHP 1
F Lettura "input number" dinamico PHP 4
B form gestione input PHP 2
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
R Nome input testo+variabile PHP 1
L input (rilevare cambio dati) PHP 3
S riflettere valore di campo input range in live Javascript 0
L input dati con inser into select ? PHP 4
M Compilazione automatica campi in input stessa pagina PHP 0
A attributo "min" per input gestione date PHP 8
F Steps campo input field Javascript 1
C input in sostituzione della select PHP 2
C [RISOLTO]Inserimento variabile php in input html PHP 20
L input (controllo se è stato modificato o no). PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
S [PHP] Recupero nome immagine da Form con input file PHP 3
T [PHP] Autocompilazione input multiple da una select PHP 1
L [Javascript] input variabili di scrittura con canvas Javascript 2
MarkRed Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus" jQuery 9
L [Javascript] Select option in campi input Javascript 4
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
P [PHP] Inserire stringhe in input(text),memorizzarle e stamparle in file successivo PHP 0
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
G Campo HTML input file con jQuery jQuery 0
P [PHP] Input Type="date" non va correttamente con Apple PHP 2
L Bootstrap 4 input ext value HTML e CSS 1
R radio input php mysql PHP 2
Emix [Javascript] Somma con array input HTML Javascript 1
M [HTML] form con multipli input type image HTML e CSS 1
A [Javascript] Multi input su due tabelle correlate Javascript 1
N [PHP] filtrare input form di tipo array PHP 0
S [HTML] Problema <input type="date"> HTML e CSS 0
V [Javascript] [HTML] Attivazione nuovi campi di input Javascript 2
Daniele_Carrara [Javascript] Modifica input date Javascript 5
F Controllo dati sui campi di input tramite php PHP 1
A [Javascript] Somma di input dinamici Javascript 1
T [PHP] tornare alla pagina con gli input già compilati PHP 2
bubino8 [PHP] Recupero input senza invio PHP 1
D [Javascript] Input da un label Javascript 1
D [PHP] da option a input type PHP 9
bubino8 [HTML] <input type="file"> Testo a scelta HTML e CSS 3
D [Javascript] Script che controlla quello che hai scritto nell'input Javascript 3
MarcoGrazia [PHP] Verifica dell'input utente tramite funzione generica. PHP 0
trattorino [HTML] input automatico al click HTML e CSS 2

Discussioni simili