2009-12-10 9 views
0

FBJS에서 Facebook 응용 프로그램에 사용할 양식 검증 문제가 있습니다. 문서에 대한 유효성 검사 예제를 확인하고 form.serialize()로 텍스트 상자 값을 확인할 수 있습니다. 하지만 불행히도 나는 드롭 다운과 체크 박스 값을 체크하는 방법을 알 수 없었다. 사전에FBJS로 양식 유효성 확인

감사합니다 .. 체크 박스 및 라디오 버튼의

답변

2

다음과 같은 코드를 사용

if (document.getElementById("checkbox_or_radio_button_id_here").getChecked() == true) 
{ 
    // yes it was checked 
} 

드롭 다운의 경우 :

if (document.getElementById("dropdown_id_here").getValue() != '') 
{ 
    // yes dropdown was not empty 
} 

개인적으로 페이스 북에 직렬화 사용하지 않는 유효성 검사, 난 그냥 위의 간단한 코드를 사용합니다.

감사합니다. 도움이 되길 바랍니다.

+0

그래! 이것은 훨씬 더 잘 작동합니다 ... –

0

매우 우아하지는 않지만 간단하고 serialize()를 사용하면 꽤 잘 작동하는 메서드를 발견했습니다.

내 폼 코드 다음 FBJS 얻을 필요가

<select name="state" id="states" class="required"> 

    <option value=""></option> 
    <option value="AL">Alabama</option> 
    <option value="AK">Alaska</option> 
    <option value="AZ">Arizona</option> 
    <option value="AR">Arkansas</option> 

</select> 

<input value="radio1" type="radio" name="radioPicks" class="radio"/> 
<input value="radio2" type="radio" name="radioPicks" class="radio"/> 
<input value="radio3" type="radio" name="radioPicks" class="radio"/> 
<input type="hidden" name="radioPicks" value=""> 

이 작동합니다 :

<script type="text/javascript"> 
<!-- 



function checkForm(form) { 

    var params=form.serialize(); 

    if (params.state.length>0 && params.radioPicks!="") 

     return true; 

    else 
     var myDialog = new Dialog(Dialog.DIALOG_POP); 
    myDialog.showMessage('Almost Done!', 'Please complete all fields', button_confirm='Close'); 

    return false; 
} 
--> 
</script> 
이 검증 방법의 핵심은은 ""를 반환하는 빈 option 태그에 의존

선택된 태그 값과 라디오 버튼에 대한 ""를 표시합니다. 숨겨진 입력을 추가하고 라디오 버튼과 동일한 이름을 지정하여 반환 된 배열에 데이터를 추가했습니다. 조건부에서 ""값을 사용하여 확인하고이 필드가 비어 있지 않으면 서버에 정보를 보낼 수있는 양식을 제공합니다. 이게 도움이 되길 바란다.

0

나는 간단한 코드도 사용하고 있습니다. 나는 왜 내가 오류로 제출할 때, 대화를 얻고 양식이 앞으로 나아가 어쨌든 제출 하는지를 알 수 없다.

 

//.... 
var txt ='Enter Zipcode'; 
function setError(){ 
    var obj=document.getElementById('mapsearch'); 
     obj.setValue(txt); 
     obj.setStyle('color', 'red'); 
} 
function valform(){ 
    var obj=document.getElementById('mapsearch'); 
    var val = obj.getValue(); 
    if(val!='' && !isNaN(val) && val.length>2){ 
     return true; 
    } else { 
     setError(); 
     (new Dialog()).showMessage('Zip Required', 'Please enter your zip code.'); 
     return false; 
    } 
} 



... 
관련 문제