Mittwoch, Januar 29, 2020

Ändern Textfeld Hintergrund-Farbe Mit JavaScript

Habe ich versucht, ein paar Lösungen, die ich gesehen habe und keiner von Ihnen sind tatsächlich ändert die hintergrund Farbe meiner text box. Dies sind die 2 Dinge, die ich habe versucht

1) state.style.backgroundColor = "#FF0000"

2) state.style.backgroundColor = "red";

– Und dies ist die Funktion, die ich versuche zu verwenden

<script type="text/javascript">
function VerifyStateWasEntered() {
    var state;
    state = document.getElementByID("txtstate").value; 
    if (state == '') {
        alert("Error Please Enter A Valid State");
        state.style.backgroundColor = "red";
        return false;
    }}      

– Und dies ist die HTML verwende ich zum erstellen der text-box

<asp:TextBox id="txtstate" runat="server" />
  • Da Sie asp-Steuerelement können Sie ein problem mit .NET Generierung der id. In diesem Fall erhalten Sie eine Verbindung von der Steuerung schachtelungen („MainContent_Login1_LoginPanel“ sagen). Überprüfen Sie die ClientIDMode Einstellung in der Page-Direktive und setzen Sie den Wert auf „statisch“ um dies zu vermeiden.
InformationsquelleAutor MustangLover | 2015-10-18

3 Kommentare

  1. 1

    Können Sie versuchen, diese? Bei der Zuordnung der Staat für den Wert, den Sie nicht bekommen kann die style-Objekt von Wert.

    <script type="text/javascript">
    function VerifyStateWasEntered() {
        var stateObj;
    
        stateObj = document.getElementByID("txtstate");
        if (stateObj) { 
          var stateValue = stateObj.value; 
    
          if (stateValue == '') {
            alert("Error Please Enter A Valid State");
            stateObj.style.backgroundColor = "red";
            return false;
          }}   
        }   
    </script>
    
    <asp:TextBox id="txtstate" runat="server" ClientIDMode="Static" />
    • Einmal wechselte ich die syntax ’stateObj = document.getElementById(„txtstate“); — funktioniert Es, wie gebraucht.
  2. 0

    Was Sie versuchen, ist möglich, aber ich vermute, Sie verwenden die falsche ID (nach meinem Kommentar). Um die Farbe eines Elements können Sie JavaScript unter.

    document.getElementById("txtstate").style.background = "red"

    Aber Sie müssen sicherstellen, dass Sie haben ClientIdMode="static" auf der Seite.

    • Ich habe ClientIDMode=“static“ und versucht, Ihre syntax und der alert zeigt aber das Textfeld Farbe nicht ändern.
  3. 0

    Ich, dass Sie versuchen, die hintergrund-Farbe mit Javascript, aber Sie können CSS verwenden, um zu tun, und es wird viel leichter.

    Beispiel:

    <asp:TextBox id="txtstate" runat="server" />
    <style type="text/css">
    #txtstate {
    background-color: /* the color you want */ ;
    }

    Wenn das immer noch nicht funktioniert, versuchen Sie, die Schließung / aus <style type="text/css">. Viel Glück!

Kostenlose Online-Tests