Zu deaktivieren Sie eine Schaltfläche "senden", wenn die Felder leer jQuery
Wie können Sie deaktivieren Sie die senden -Taste, wenn es einen oder mehrere input -Felder leer?
Mein Versuch in pseudo-code
if ( $("input:empty") ) {
$("input:disabled")
}
else
//enable the ask_question -button
Ich habe diese Artikel gelesen haben, ohne dass eine richtige Lösung
- Offiziellen docs über leer: dies ist so nicht relevant, denn es sieht für alle input -Felder
- ein thread über Behinderte -Funktion in jQuery: dies scheint relevant zu sein,
- um testen zu können, jQuery Firefox/terminal: um eine Testumgebung würde mir helfen, die meisten
Ich benutze im moment den folgenden code.
Es enthält ein Fehler, über den Charakter ;
, aber ich kann es nicht finden.
#1
$(document).ready(function(){
$("#ask_form").validate(){
rules: {
username {
required: true,
minlenghth: 2
},
email: {
required: true;
minlength: 6
},
password {
required: true,
minlength: 6
}
}
});
}
#2 Meder code
Ich slighhtly geändert Meder code. Es deaktiviert die send
-Taste dauerhaft, so hat es einen bug zu.
$(document).ready(function(){
var inputs = $('input', '#ask_form'), empty = false;
//can also use :input but it will grab textarea/select elements and you need to check for those..
inputs.each(function() {
if ( $(this).val() == '' ) {
empty = true;
return;
}
});
if ( empty ) {
$('.ask_question').attr('disabled', 'disabled'); //or true I believe.
}
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
input:empty).length > 0
in Englisch? - Mein Versuch, mit den gegebenen Regel auf den taginput
ist leer, so dass seine Länge größer ist als null. - Dies ist jedoch nicht sinnvoll für mich, da meine überlegung führt zu einem Widerspruch..length > 0
, aber die Knöpfe bleiben deaktiviert.length
Eigenschaft nur bestimmt, wie viele Elemente in der Sammlung. wenn es sind 0 Objekte in der Sammlung, dielength
0. Sie können natürlich auch mehr spezifische in Ihrem Selektor, wie$("input.myInputs:empty")
aber dies sollte den trick tun.$("input[type=submit]").attr("disabled","disabled");
zu ` $Einreichen.attr("disabled","disabled");`? - ich führen Sie Ihren code auch mit einer änderung Ihrer letzten code, um Ihren alten code, aber das gleiche problem weiterhin besteht.var $submit = $("input[type=submit]");
so dass ich es nicht habe, mich zu wiederholen und auch so, dass die Sammlung wird nur einmal aufgerufen, was den Prozess beschleunigen wird.$("input[type=submit]");
im Ort$submit
es wird die gleiche Arbeit. gehen Sie für es.jQuery-validation plugin
Dokumentation
Demo
send
-Taste dauerhaft.Fehlen die schließen, versuchen Sie, diese für Beispiel #1: