2017-06-01 1 views
1

Entschuldigung im Voraus für Dummheit.Hintergrund des Eingabefeldes auf Rot setzen

Ich füge einige Fehlerüberprüfungscode zu einer vorhandenen (vorgebauten) Web site hinzu. Ich kann das HTML nicht ändern. Das Element muss ich ändern ist:

<input type="text" name="Q_5533" size="4" value="1" class="form_input_general">

Es ist eine Menge Feld. Ich muss die Hintergrundfarbe auf rot ändern. So ändert im Grunde ist es zu:

<input type="text" name="Q_5534" style="background-color: #ff3e3e" size="4" value="1" class="form_input_general">

Der Elementname Änderungen auf jeder Seite. Ich kann es im Code erhalten, indem mit:

var QuantityName ="Q_" + sProdRef;

ich gerade kämpfen mit getDocument und setAttribute es zu ändern. Mir ist klar, dass das ziemlich einfach ist und ich kann das Holz für die Bäume nicht sehen.

Bitte könnte mir jemand helfen?

Vielen Dank

Tony

+1

Sie können versuchen, 'document.getElementsByName (QuantityName) [0] .style.background = 'red';' – Lixus

Antwort

1

Verwenden document.querySelector. Er wählt Elemente wie CSS-Selektoren:

var quantityName = "Q_" + sProdRef; 
var element = document.querySelector('input[name=' + quantityName + ']'); 
element.style.backgroundColor = '#ff3e3e'; 
+0

Hier ist ein [jsfiddle] (https://jsfiddle.net/a3xn81y5/) für Ihre Antwort. – Anthony

+0

@Anthony Vielen Dank – PeterMader

+0

Danke Peter. Das funktioniert gut. Sie wissen nicht, welche der beiden Antworten effizienter ist? – ag2

1

Verwenden getElementsByName, es gibt eine Sammlung, so dass das erste Spiel sollte es tun, wie folgt aus:

var sProdRef = '5533'; // set somewhere before 

var QuantityName ="Q_" + sProdRef; 
document.getElementsByName(QuantityName)[0].style.backgroundColor='red'; 

Fiddle hier: https://jsfiddle.net/pwwm169d/

+0

Danke Juan. Das ist perfekt. Ich vermisste die [0] und ging dann auf die falsche Tangente :) – ag2

+0

Gern geschehen! – Juan

Verwandte Themen