Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Disabilitare parzialmente convalida lato client
lunedì 23 gennaio 2006 - 17.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
lun 23 gen 2006 - 17:03
Ciao a tutti.
Problema1
Ho una Web Form e in essa carico un Web User Control.
Nel Web User Control ho messo dei controlli per svolgere due funzionalità:
1. (Rinomina) per la quale ho una TextBox, il relativo RequiredFieldValidator e un pulsante rinominaBTN
2. (Registra) per la quale ho anche questa volta textBox, RequiredFielValidator e registraBTN
Ricapitolando ho 2 TextBox, 2 RFV e due Bottoni nello stesso user control.
Vorrei che le cose andassero così: premo rinominaBTN e mi esegua una convalida lato client solo del TextBox relativo; premo registraBTN e mi esegua la convalida solo del Textbox relativo.
Problema2
Ho una web form e due Web User Control.
In una web user control ho un bottone che richiama necessariamente un Page.ResponseRedirect.
Nell'altro user control ho diverse Textbox, relativi RequiredFieldValidator e un pulsante Submit.
Vorrei che premendo il bottone del primo user control non mi eseguisse la convalida relativa ai controlli dell'altro web user control; invece lo fa.
N.B. Conosco Javascript solo di vista.
Grazie anticipatamente
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
lun 23 gen 2006 - 17:13
Per il pulsante che non vuoi faccia validazione prova ad impostare la proprietà CausesValidation = False.
Ciao, Michele.
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
lun 23 gen 2006 - 17:31
Che sbadato!!! me ne ero dimenticato; grazie Michele.
Rimane comunque il problema1
zhart
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
lun 23 gen 2006 - 21:59
Ciao, scusami ma leggendo in fretta avevo fatto attenzione solo al problema 2.
Per il problema1 prova a valutare se la seguente soluzione può andarti bene:
inserisci a disposizione della pagina una funzione javascript simile a questa:
// vId = clientId del validator da trattare
// value = true/false
function EnableValidator(vId, value) {
ValidatorEnable(document.getElementById(vId),value);
}
nell'evento Load della pagina puoi configurare i 2 pulsanti nel seguente modo:
Me.rinominaBTN.Attributes.Add("onclick", "EnableValidator('ReqFldVal_registra', false);EnableValidator('ReqFldVal_rinomina', true);")
Me.registraBTN.Attributes.Add("onclick", "EnableValidator('ReqFldVal_registra', true);EnableValidator('ReqFldVal_rinomina', false);")
ReqFldVal_rinomina.Enable = True
ReqFldVal_registra.Enable = True
gestire sul click (lato server) la disabilitazione del Validatore che non c'entra:
Private Sub registraBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles registraBTN.Click
Me.ReqFldVal_rinomina.Enabled = False
End Sub
Private Sub rinominaBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rinominaBTN.Click
Me.ReqFldVal_registra.Enabled = False
End Sub
Ciao, Michele
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
mar 24 gen 2006 - 05:04
Circa il "Problema 1" un altro approccio potrebbe essere quello di inizializzare i 2 pulsanti come "Disabilitati" per attivarli poi lato client gestendo l'evento onkeyup con la seguente funzione che condiziona l'abilitazione del pulsante al fatto che il textbox non sia vuoto.
// txtId = clientId del textbox
// btnId = clientId del pulsante
function EnableIfNotEmpty(txtId, btnId) {
var t = document.getElementById(txtId);
var b = document.getElementById(btnId);
if (t.value != '')
{
b.disabled=false;
}
else
{
b.disabled=true;
}
}
Lato server:
Me.TextBox1.Attributes.Add("onkeyup", "EnableIfNotEmpty('" + Me.TextBox1.ClientID + "', '" + Me.Button1.ClientID + "');")
Ciao, Michele
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
mar 24 gen 2006 - 16:28
Ciao michele.
Ho risolto grazie al tuo post anche il problema1. E' andato tutto perfettamente a primo colpo.
Per quanto riguarda l'altra possibile soluzione al problema2 sinceramente avendo già applicato l'altra soluzione e avendo poco tempo non l'ho ancora letta ma sono sicuro che lo farò più tardi.
Grazie ancora
zhart
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !