2010-01-05 8 views
0
function submitcheck() 
{ 

var f = document.form1; 

if (f.rbTemplate!= null)  
{ 
    ... 
     alert('Please choose template'); 
     return false; 
    ... 
} 

if (f.rbColorId!= null) 
{ 
    ... 
     alert('Please choose template color'); 
     return false; 
    ... 
} 
} 



function ShowColor() 
{ 
    var f= document.form1; 
    iTemplate= getSelectedRadioValue(f.rbTemplate); 

    var params= "iTemplate="+iTemplate; 
    var url= "ajaxColor.php"; 
    doShowOutput(params, url, retrieveColorsAvailableForThisTemplate); 
} 


function retrieveColorsAvailableForThisTemplate() 
{ 
    if(httpObject.readyState == 4) 
    { 
     document.getElementById('showtime').style.display=""; 
     document.getElementById('showtime').innerHTML= httpObject.responseText; 
    } 
} 



    <input type='radio' name='rbTemplate' id=1 value=1 onclick='ShowColor();'> 
<img src="template1.jpg" /> 

<br /> 

    <input type='radio' name='rbTemplate' id=2 value=2 onclick='ShowColor();'> 
<img src="template2.jpg" />  



    <div id=showtime></div>  
을 감지

rbTemplate의 ID를 클릭은 = 1, 아약스 쿼리 = ID로이 템플릿자바 스크립트는

예를 들어 쇼 타임 가능한 색상을 반환 할 때 :

<table> 
<tr> 
<td bgColor="#FF0000"><input type=radio name=rbColorId id=1 value=1></td> 
<td bgColor="#FF0007"><input type=radio name=rbColorId id=2 value=2></td> 
<td bgColor="#FF0003"><input type=radio name=rbColorId id=3 value=3></td> 
</tr> 

</table> 

rbTemplate id = 2를 클릭하십시오. ajax는 id = showtime에 간단한 메시지로 결과를 반환합니다.이 템플릿은 실제로 어떤 색 선택도 없기 때문에 반환합니다)

예 : "<p>this template don't have any color</p>"

문제는 지금 :

1 단계 : 다음을 클릭 rbTemplate 아이디 = 1에서 색상을 선택하지 않고 클릭 (자바 스크립트 색상을 선택하라고 메시지를 표시합니다) 제출 후,

2 단계 : 그때 rbTemplate id = 2를 다시 클릭하여 다시 반복하십시오.이 두 번째 템플릿에는 색상이 없으므로 이번에는 다시 제출을 클릭하십시오. 색상 선택을 묻지 않아야합니다. 하지만 자바 스크립트 프롬프트가 계속 나타납니다.

도움말

그냥 Ajax 호출의 결과를 출력되기 때문에

답변

0

, 내가 말하고 싶지만 ... 도와주세요 ... (아마도 ... 캐시 나) f.rbColorId를 감지 여전히 JS 검증 할 수 당신은 ajaxColor.php에서 논리를 바꿀 필요가 있습니다

하지만 실제로 색상을 필요로하지 않는다면, 이벤트를 완전히 제거하지 않으시겠습니까?

<input type='radio' name='rbTemplate' id=2 value=2 /> 
+0

제거 할 수 없습니다. 왜냐하면 사용자는 템플릿을 선택해야하기 때문입니다. 그런 다음 특정 템플릿에 여러 색상이있는 경우 색상을 선택해야합니다. 사용자가 색상을 선택하면 자바 스크립트가 선택하도록 경고합니다. –

관련 문제