2011-04-25 14 views
12

Estoy haciendo la validación del formulario. cuando la entrada de formulario es incorrecta agrego un borde rojo a la caja de texto:cambiando el color del borde del cuadro de texto usando javascript

document.getElementById("fName").style.borderColor="#FF0000" 

esto, entonces me da un borde rojo 2px. lo que quiero hacer es si las putas de usuario en un valor correcto para ir de nuevo a la frontera originales ...

puede alguien decirme cómo puedo cambiar el tamaño y color del borde en javascript

Respuesta

2

document.getElementById("fName").style.borderColor="";

es todo lo que necesita para cambiar el color del borde posterior.

Para cambiar el tamaño del borde, use element.style.borderWidth = "1px".

+0

Ya pero me da un borde de 2px ... quiero un borde de 1px si es posible – kevin

+0

@kevin: ver mi edición. –

17

estilos uso de CSS con clases CSS en lugar

CSS

.error { 
    border:2px solid red; 
} 

Ahora en Javascript

document.getElementById("fName").className = document.getElementById("fName").className + " error"; // this adds the error class 

document.getElementById("fName").className = document.getElementById("fName").className.replace(" error", ""); // this removes the error class 

La razón principal por la que menciono esto se suponga que desea cambiar el color del borde del elemento con error. Si eliges tu camino, es posible que tengas que modificar muchos lugares en el código. Si elige mi camino, simplemente puede editar la hoja de estilos.

+0

Comentario de [Savas Vedova] (http://stackoverflow.com/users/1075534/savas-vedova) (edición rechazada): 'classname' no es válido. Es 'className' en su lugar. – Anne

+0

Esta es la clase todo el tiempo. – Hunsu

+0

Bellamente hecho manteniendo el estilo en el CSS. – tazboy

10
document.getElementById("fName").style.border="1px solid black"; 
1

Estoy de acuerdo con Vicente Plata debe intentar usar jQuery IMHO es la mejor biblioteca de JavaScript. Puede crear una clase en su archivo CSS y simplemente hacer lo siguiente con jQuery:

$('#fName').addClass('name_of_the_class'); 

y eso es todo, y por supuesto que no será preocupado por la incompatibilidad de los navegadores, eso es un problema el equipo de jQuery: D LOL

3

Añadir un evento onchange a su elemento de entrada:

<input type="text" id="fName" value="" onchange="fName_Changed(this)" /> 

Javascript:

function fName_Changed(fName) 
{ 
    fName.style.borderColor = (fName.value != 'correct text') ? "#FF0000"; : fName.style.borderColor=""; 
} 
3

Puede intentar

document.getElementById('name').style.borderColor='#e52213'; 
document.getElementById('name').style.border='solid'; 
+1

Intenta responder en palabras y no solo en el código. Y dado que respondes tan tarde, ¿cómo difiere tu respuesta de las otras? – Artemix

Cuestiones relacionadas