Вероятно, простое решение, так что я немного смущен, но JS на самом деле не моя сильная сторона, поэтому я решил спросить.
Я использую плагин Jquery Form отправить группу флажков для требований к приложению по планированию событий, которое я создаю.
У меня проблемы с тем, чтобы мой обратный вызов для предварительной проверки отклонил форму, если нет ключа массива для 'требования'.Я знаю, в php, я мог бы просто использовать что-то вроде array_key_exists или просто проверить isset (), но я не уверен, что родственный в js.код следует.
<form id="choose_reqs" method="post" action="http://www.domain.com/generator/chooseReqs/" enctype="multipart/form-data">
<p>I'm planning on getting:</p>
<?php foreach($_SESSION['event']->opt_r as $r){?>
<span style="display:block; width:120px; padding:4px; border:1px #ccc solid;"><input type="checkbox" value="<?=$r;?>" name="requirement[]"/><?=$r;?></span>
<?php }?>
<input type="submit" name="event_chosen" value="Next" />
</form>
А затем связанный js, который запускается после загрузки формы в:
function eventTypeChosen(responseText, statusText, xhr, $form) {
var options = {
target: '#app',
beforeSubmit: formSubmitCheck,
success: reqsChosen
};
setNav();
$('#choose_reqs').ajaxForm(options);
}
function setNav(){
$('#start_over').click(start);
}
function formSubmitCheck(formData, jqForm, options){
if(formData.hasOwnProperty('requirement')){
alert('Please check at least one requirement');
return false;
}else{
$(jqForm).fadeOut(200);
return true;
}
}
Очевидно, что-то не так с методом .hasOwnProperty () и как ям использую его.