2013-12-23 3 views
0

사용자 클릭시 버튼의 색상을 전환하고 싶습니다. 현재 사용자가 버튼을 클릭하면 색상이 일시적으로 변경되지만 즉시 밀리 초 단위로 첫 번째 색상으로 변경됩니다. .jsp 파일을 사용하여 서버에 정보를 보내는 이러한 단추 클릭시 서버와 통신하고 서버가 다시 통신 할 때 페이지를 새로 고칩니다. 페이지를 새로 고칠 때 버튼의 스타일을 다시 설정합니까? 스타일을 정의하기 위해 클래스 '버튼'을 사용하고 있습니다.클릭시 버튼 색상을 변경 (유지)하는 방법

내 질문은 : 어떻게하면 무기한으로 단추의 색을 변경할 수 있습니까?

<form action="FirstServlet" method="get"> 
<div id="TVs"> 
    <%for (int i=1; i<=numTargets; i++) {   
    <button id="TV<%=i%>" name= "TV<%=i%>" class="button" onClick= "TVbuttonPressed('TV<%=i%>')"> 

... 
    function TVbuttonPressed(id){  
    document.getElementById(id).style.backgroundColor = 0xFFFF00; 
} 

은 결국 나는 함수가 될 수있는 계획입니다 :

누군가는 설명 할 수
function TVbuttonPressed(id){  
    if (document.getElementById(id).style.backgroundColor == A) 
     document.getElementById(id).style.backgroundColor = B 

    else (document.getElementById(id).style.backgroundColor == B) 
     document.getElementById(id).style.backgroundColor = A 
} 

? 감사.

+0

왜 당신은 그냥 클릭에 클래스를 추가하지 마십시오 작동합니다. 학급에 새로운 스타일을 선언하게하십시오. – Leeish

+0

'style.backgroundColor'는 다른 브라우저에서 다른 것을 반환 할 것이고, 대부분의 최신 브라우저에서는'rgba (23,143,255,1)'과 같은 것을 반환 할 것이기 때문에 16 진수와 비교해 보면 거의 실패 할 것입니다. – adeneo

+0

u는 색상을 캐시 할 수 있습니다. 적절하게 설정하십시오. 나는 또한 버튼 폭 너비와 href를 단추 너비와 동일하게 두는 것처럼 야생의 추측을 가지고있다. 방문한 {background-color : red;} – argentum47

답변

0

장소 호출 된 함수

function TVbuttonPressed(id){  
document.getElementById(id).style.backgroundColor = 0xFFFF00; 

return false; --this will prevent the change of color while refreshing. 

}

거짓 반환 그것은

+0

고맙다 @ Pavan-kumar .. 나는 이것을 시도했다. 여전히 실패했다. 버튼이 노란 색으로 깜박이고 정상 색으로 돌아갑니다. 원래이 문제는 새로 고침 문제로 인한 것이라고 생각했습니다. action = FirstServlet.java 특성을 제거하면 페이지가 서버와 대화하고 더 이상 새로 고침 할 필요가 없어서 혼란스러워하는 문제가 여전히 존재합니다. 누구든지 .jsp 페이지 새로 고침 때 서버에서 전달 된 정보를 기반으로 색을 설정하면 Java 서블릿에서 backgroundColor를 어떻게 설정할 수 있는지 알고 있습니까? 나는 이것에 대해 광범위하게 보았지만 행운은 없었다. – gecko25

관련 문제