Ich bin Anfänger in HTML. Ich habe zwei Textfelder sagen t1 und t2 Wenn t1 mit einigen Daten gefüllt ist, dann sollte andere Textfeld t2 deaktiviert werden. Bitte lassen Sie mich wissen, heiß, es zu tun. Vielen Dank im VorausDeaktivieren Sie die Textfelder
Antwort
Sie können dies nicht mit einfachem HTML erreichen.
Befolgen Sie die Richtlinien von progressive enhancement, Sie sollten zuerst einen serverseitigen Check implementieren, in welchem Form-Handler Sie die übermittelten Daten verarbeiten.
Dann können Sie in Betracht ziehen, JavaScript für eine clientseitige Überprüfung hinzuzufügen. Etwas entlang der Linien von:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Disabling form controls</title>
</head>
<body>
<form id="myForm" action="http://example.com/">
<div>
<input name="t1">
<input name="t2">
</div>
</form>
<script type="text/javascript">
(function() {
var t1 = document.forms.myForm.elements.t1;
var t2 = document.forms.myForm.elements.t2;
var handler = function handler() {
t2.disabled = (t1.value !== "");
};
t1.onchange = handler;
}());
</script>
</body>
</html>
(Obwohl ich eine Bibliothek wie YUI oder jQuery verwenden würde Event-Handler in einer Art und Weise hinzuzufügen, die besser vor dem Überschreiben in einer cross kompatibele Weise geschützt ist).
Sie möchten vielleicht einige Tutorials auf JavaScript und the DOM, so dass dies sinnvoll ist.
Ich habe dieses Snippet getestet, indem ich ein Formular mit der ID "myForm" in FF3, Chrome und IE8 erstellt habe und es nicht funktioniert hat. – ichiban
Ich habe es mit einem vollständigen HTML-Dokument aktualisiert, da Sie nicht in der Lage zu verstehen, wie das Skript funktionieren soll. – Quentin
Wenn "Wenn man den äußeren Funktionsblock in Joses Design umwandelt", deutet dies darauf hin, dass entweder (a) Sie den Code, den ich geschrieben habe, nicht setzen oder das Formular nicht erstellt wurde Das() am Ende der anonymen Funktion, die verwendet wird, um das Hinzufügen von Variablen zum globalen Namespace zu vermeiden. – Quentin
Basierend auf einfache Beschreibung des Szenarios, hier ist eine Implementierung, die Cross-Browser und ohne Fremd arbeitet JavaScript-Bibliothek:
<html>
<head>
<script type="text/javascript">
window.onload = function(){
var t1 = document.getElementById("t1");
var t2 = document.getElementById("t2");
t1.onchange = function(){
t2.disabled = t1.value.length > 0;
}
}
</script>
</head>
<body>
<form>
t1:<input type="text" id="t1" name="t1" /><br/>
t2:<input type="text" id="t2" name="t2" />
</form>
</body>
</html>
<head>
<script type="text/javascript">
function verify(){
var t1 = document.getElementById ('first');
var t2 = document.getElementById ('second');
if (t1.value != '') {
t2.setAttribute('disabled','disabled');
return true;
}
if (t2.value != '') {
t1.setAttribute('disabled','disabled');
return true;
}
}
</script>
</head>
<body>
...
<input type="text" id="first" onblur="verify()">
<input type="text" id="second" onblur="verify()">
...
</body>
- 1. So deaktivieren Sie die grammatikalische Korrektheitsprüfung für Textfelder des Eingabetyps
- 2. Deaktivieren Sie eine Schaltfläche basierend auf drei Textfelder
- 3. Schaltfläche deaktivieren, wenn Textfelder bearbeiten leer
- 4. Deaktivieren der Rechtschreibprüfung für HTML-Textfelder
- 5. Wie sperren Sie Textfelder?
- 6. die Datensammlung: Dynamische Textfelder
- 7. RxSwift: aktivieren/deaktivieren Taste basierend auf Textfelder sind nicht leer
- 8. Deaktivieren Sie die Optionsschaltfläche jQuery
- 9. Dynamische Textfelder
- 10. Wie Sie die Anzahl der hinzuzufügenden Textfelder begrenzen (php)
- 11. C# klar alle Textfelder und deaktivieren Sie alle Kontrollkästchen in WPF
- 12. Deaktivieren Textfelder auf die Schaltfläche klicken und simultaniously ermöglicht eine andere Taste
- 13. Automate (IE ComObject) Füllen Sie Textfelder
- 14. Klicken Sie auf Ereignis für mehrere Textfelder
- 15. Entangled Textfelder
- 16. Füllen Sie Textfelder aus SQL-Datenbank
- 17. So erstellen Sie Textfelder in Canvas
- 18. So parametrieren Sie mehr als zwei Textfelder
- 19. So deaktivieren Sie die erforderlichen Attribute MVC-Modell?
- 20. So erstellen Sie verknüpfte Textfelder im Arbeitsblatt?
- 21. Möchten Sie die UIbutton ausblenden, wenn Benutzer einige Textfelder eingibt und drücken Sie die Return-Taste
- 22. Wie erhalten Sie die Werte ihrer Textfelder und übertragen sie in die richtextbox?
- 23. Wie wählt man alle Textfelder und Textfelder mit jQuery?
- 24. Dynamische Textfelder erstellen
- 25. Deaktivieren Sie die HTTP GET-Methode
- 26. Deaktivieren Sie die Warnungen wegen Boost-Bibliothek
- 27. Deaktivieren Sie die Suchleiste nach Client
- 28. jsTree - deaktivieren Sie die Option ziehen
- 29. Anforderungen: Deaktivieren Sie die automatische Decodierung
- 30. So deaktivieren Sie die Solr-Admin-Seite
dieser Effekt soll, wenn in den Boxen-Typen der Benutzer arbeiten ? Wenn dies der Fall ist, müssen Sie dies angeben. Dafür verwenden Sie Javascript. – Anonymous
Möchten Sie t1 deaktiviert haben, wenn einige Daten auch in t2 eingegeben werden? – rahul