So führen Sie eine Validierung nur auf die Schaltfläche Klicken oder " Input:Submit
Bin ich mit dem Update-Panel in meiner asp-Seite, und ich Tue, JQuery Validierung, die auf der Asynchronen Postback...
Möchte ich nur bestätigen meine form nur auf button-Klicks oder sendet...
Mein problem ist..alle meine Schaltflächen sind in verschiedenen formviews und nicht Last für eine Zeit...das ist, warum ich bin nicht in der Lage, die button-id ' s und verwenden Sie das click-events..hier ist mein code..
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(ValidateMyForm);
function ValidateMyForm(sender, args) {
var objPost = args.get_postBackElement();
if (objPost === null || objPost === undefined) return;
if (objPost.id == '<%= ((Button)(formViewinfo.FindControl("btnUpdate"))).ClientID %>') {
$('#pnlerrors').fadeOut('fast');
$('#pnlItemErrors').fadeOut('fast');
var isValid = $('#form1').validate({
errorClass: 'error',
invalidHandler: function (e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$('#pnlerrors').html('<p> Please correct the errors </p>').fadeIn('fast');
document.location.href = '#pnlerrors';
}
}, submitHandler: function () {
}
}).form();
if (!isValid) {
CancelPostback(sender, args);
} else {
}
}
//this is for rest of buttons
else {
$('#pnlItemErrors').fadeOut('fast');
$('#pnlerrors').fadeOut('fast');
var isValid = $('#form1').validate({
errorClass: 'error',
invalidHandler: function (e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$('#pnlerrors').fadeOut('fast');
document.location.replace('#', '#pnlItemErrors');
$('#pnlItemErrors').html('<p> Please correct the errors </p>').fadeIn('fast');
document.location.href = '#pnlItemErrors';
}
}, submitHandler: function () {
}
}).form();
if (!isValid) {
CancelPostback(sender, args);
} else {
}
}
}
Alles was ich tun möchte ist: 2. mal die Validierung nur auf die Schaltfläche senden nicht für alles...ich bekomme andere postbacks auf dieser Seite und diesen post Rücken wird auch überprüft jedes mal (will ich Vermeiden)...
Ich nicht wissen, dass dieser Ansatz gut ist oder nicht...ich bin mit diesen zu kämpfen, von der lange Zeit..die ich wirklich zu schätzen, dass du helfen...
- Für die Klarheit, die Sie auslösen möchten Validierung nur wenn ein
submit
Taste gedrückt wurde? - ja..ich will trigger auf den button klicken...wenn Sie sehen, dass mein code..ich bin der überprüfung der objargs.id ersten mal mit einem button id..ich muss es tun mit allen anderen Tasten die ich habe ..aber das problem ist, die Tasten nicht geladen wird an der Zeit...dann sind innerhalb einer asp.net formview...was ich will ist..wenn es möglich ist kann ich eine css-Klasse für alle buttons und dann muss ich schauen (.btnupdate).klicken Sie auf true ist dann zu validieren, sonst nicht..ich hoffe u verstehst was ich meine..vielen Dank..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf der Annahme, dass Sie nicht möchten, das Formular zu senden, wenn jemand drückt die enter-Taste, und, dass Sie nur wollen, senden Sie das Formular nach drücken einer
submit
- Taste:Es gibt eine JS-Fiddle-demo, hier: http://jsfiddle.net/davidThomas/5PaWz/.
Wenn ich mich nicht Irre in meinen Vermutungen, hinterlassen Sie bitte einen Kommentar und ich werde versuchen, mich korrigieren.
button
s verwenden Sie?<input type="submit" />
,<button type="submit"></button>
oder eine andere Art?wenn Ihr problem ist nur darum, die Tasten haben zu müssen Validierungen dann
ein Weg, um dieses ist, um eine Klasse für die Schaltflächen, die Sie auslösen möchten Validierung, zum Beispiel :
dann können Sie packen all diese Knöpfe in JQuery:
bekommen jede Schaltfläche id:
ohh..Gott endlich die Lösung gefunden für mein problem...Erstmal mein entschuldigt, wenn meine Frage nicht klar....
Meiner überprüfung arbeitet an asynchronen post Rücken...ich möchte nur bestätigen meine form auf den button klickt..ich habe ein asp.net grid-Ansicht in meiner Seite..wenn ich auf paging oder etwas auf das Gitter, es feuert Validierung...das will ich vermeiden..
für das was ich getan habe ist...ich bin die Erfassung der postback-element mit der folgenden Anweisung.
dann bin ich der überprüfung für den Typ..
damit endet mein 2Tage Kampf...
vielen Dank Ihre Unterstützung und Hilfe...
Versuchen anderen Ansatz.
Verwenden asp.Net Button mit UseSubmitBehavior=true für die Einreichung
und verwenden asp.Net Button mit UserSubmitBehavior=false für Schaltflächen, die Sie nicht wollen, dass Sie, um das Feuer der Validierungsprozess, den. fügen Sie diesen folgenden code zu Ihrem Formular