2009-12-10 2 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().

моя форма фрагмент кода:

<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=""> 

FBJS нужно, чтобы получить эту работу:

<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 тег, чтобы вернуть «» для выбранное значение тега и «» для переключателей. Я добавил скрытый ввод и назвал его тем же именем, что и переключатели, чтобы добавить свои данные в возвращаемый массив. значение «» используется в условном выражении, чтобы проверить и сказать, если эти поля не пусты, дайте форме ok для отправки информации на сервер. Надеюсь, это поможет.

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; 
    } 
} 



...