Deaktivierte Formularfelder übermitteln keine Daten [duplicate]

Lesezeit: 2 Minuten

Deaktivierte Formularfelder ubermitteln keine Daten duplicate
bardiir

Gibt es eine Möglichkeit (mit einem Attribut-Flag oder ähnlichem), Formularfelder zu aktivieren, die zum Senden von Daten deaktiviert sind?

Oder, falls dies nicht möglich ist, gibt es eine Möglichkeit, Felder für die Bearbeitung mit CSS oder einem anderen Attribut als deaktiviert zu blockieren, ohne sie auszublenden?

Mein Spezialfall ist im Moment eine Kennung für einen Datensatz, der im Formular angezeigt werden soll (nicht editierbar) – wenn es keine bessere Lösung gibt, denke ich, dass ich ein verstecktes Feld zusätzlich zu dem deaktivierten Feld verwenden werde, um das eigentliche zu halten Wert, wobei der deaktivierte Wert angezeigt wird.

  • Warum nicht “readonly” statt “disabled” verwenden?

    – DevWL

    1. November 20 um 2:51 Uhr

Wie schon erwähnt: READONLY funktioniert nicht für <input type="checkbox"> und <select>...</select>.

Wenn Sie eine haben Form mit deaktivierten Kontrollkästchen / Auswahlen UND müssen sie übermittelt werden, können Sie jQuery verwenden:

$('form').submit(function(e) {
    $(':disabled').each(function(e) {
        $(this).removeAttr('disabled');
    })
});

Dieser Code entfernt die disabled Attribut aus allen Elementen beim Absenden.

  • Bro … Ich habe nicht bemerkt, dass dies ein Problem war, bis ich eine ganze Seite fertig hatte. So viel Javascript. Dann ging ich zum Backend und …. keiner von ihnen postete durch. Vielen Dank für diese Antwort!

    – Fauxpas

    3. Dezember 18 um 14:14 Uhr

  • Dieses Skript ist prägnant und erstaunlich, vielen Dank. Großartig für die Arbeit in MVC/Razor Pages

    – Pseudocoder

    6. Februar 19 um 19:07 Uhr

  • Schöne Lösung, die beste, die ich für MVC gesehen habe. Vielen Dank.

    – Jerzy Gebler

    17. Juni 20 um 7:49 Uhr

  • Wenn Sie nur Kontrollkästchen deaktivieren möchten, ändern Sie die $(':disabled') zu $('input[type="checkbox"]:disabled')

    – Daniel Butler

    8. Juli 2020 um 17:51 Uhr

  • Oder Sie können auch einfach ein verstecktes Feld hinzufügen

    – TheRealChx101

    9. August 21 um 18:57 Uhr

Verwenden Sie das CSS pointer-events:none für Felder, die Sie “deaktivieren” möchten (möglicherweise zusammen mit einem grauen Hintergrund), was die POST-Aktion ermöglicht, wie:

<input type="text" class="disable">

.disable{
pointer-events:none;
background:grey;
}

Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

  • Ich würde nicht empfehlen, dies zu verwenden, da es stark browserabhängig ist.

    – Mario Werner

    7. Juli 18 um 17:00 Uhr

Wir können das schreibgeschützte auch nur mit den folgenden Attributen verwenden –

readonly onclick=’return false;’

Dies liegt daran, dass Optionsfelder bearbeitet werden können, wenn wir nur die readonly verwenden. Um diese Situation zu vermeiden, können wir readonly mit der obigen Kombination verwenden. Es schränkt die Bearbeitung ein und die Werte des Elements werden auch während der Formularübermittlung übergeben.

1644341046 699 Deaktivierte Formularfelder ubermitteln keine Daten duplicate
Paresh

Fügen Sie dem Eingabeelement CSS oder eine Klasse hinzu, die in Auswahl- und Text-Tags wie z

style=”pointer-events: none;background-color:#E9ECEF”

.

825370cookie-checkDeaktivierte Formularfelder übermitteln keine Daten [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy