$('#oq_module_threshold_type_1').click(function(){ showTypePercent() });
$(document).ready(function(){
$('#content').css('border-bottom', '0px');
});
Ici on est dans un cas ou:
- On a 2 radio-box par ligne (et seulement 2)
- Au moins l'une des 2 radio-box doit être sélectionnée
- Si erreur on met le focus sur la 1ère radio du champ
- Si erreur on affiche un message d'erreur à partir du texte d'un div caché
function control_questionnaire() { checked = false; jQuery(":radio:even", form).each ( function(intIndex) { radio = jQuery(this); checked = jQuery(":radio[@name='" + radio.attr('name') + "']:checked", form).size(); if (checked == false) { radio.focus(); showFocus(jQuery("#anim_" + radio.attr('id'))); alert(jQuery("#control_" + radio.attr('id')).html()); return false; } } ); if (checked) { jQuery('#loading-indicator').show(); jQuery('#diag-form').submit(); } }
Cette fois ci on est dans un cas ou:
- On a un nombre de questions quelconque
- On a un nombre de réponses quelconque, chaque réponse étant représentée par une checkbox
- On peut cocher plusieurs réponses par question
- Au moins l'une des checkbox doit être sélectionnée
- Si erreur on met le focus sur la 1ère checkbox du champ
- Si erreur on affiche un message d'erreur à partir du texte d'un div caché
function control_questionnaire_complexe() { checked = false; name = ''; jQuery(":checkbox", form).each ( function(intIndex) { checkbox = jQuery(this); // Controle si seulement on a pas deja controle le groupe de checkbox if (name != checkbox.attr('name')) { checked = jQuery(":checkbox[@name='" + checkbox.attr('name') + "']:checked", form).size(); if (checked == false) { checkbox.focus(); answer_id = checkbox.attr('id').split('_'); showFocus(jQuery("#anim_" + answer_id[0])); alert(jQuery("#control_" + answer_id[0]).html()); return false; } name = checkbox.attr('name'); } } ); if (checked) { jQuery('#loading-indicator').show(); jQuery('#diag-form').submit(); } }
jQuery.listen('click', 'a', function(e) { var url = e.target.href; var re = new RegExp('(.)*com_user(.)*'); if (url.match(re)) { //alert('Lien user'); dialog.hide(); } else { return showLoginForm(e); } });
Autre exemple:
cp = jQuery('#<?php echo $fld->id; ?>').val(); re = new RegExp('^[0-9]*$'); if (!re.test(cp)) { alert('Le code postal ne doit comporter que des chiffres'); return false; }
On peut utiliser en ligne ce testeur de regexp par exemple pour construire son motif rapidement.
/** * Generate the javascript that will initialialize the date picker. * * @return String */ protected function jqGetJavascript($name) { sfLoader::loadHelpers('Javascript'); $main_name_id = $this->generateId($name); $js = " jQuery(document).ready(function() { $('#%s_%s').datepicker({ %s %s beforeShow: function() { readLinked('%s', '%s'); }, onSelect: function() { updateLinked(jQuery('#%s_%s').val(), '%s'); }, dateFormat: '%s' }); $('#%s_month, #%s_year').change( function() { checkLinkedDays('%s'); }); checkLinkedDays('%s'); }); "; $js = sprintf($js, $main_name_id, self::JQ_DEFAULT_DATEPICKUP_ID, $this->getOption('minDate'), $this->getOption('maxDate'), $main_name_id, self::JQ_DEFAULT_DATEPICKUP_ID, $main_name_id, self::JQ_DEFAULT_DATEPICKUP_ID, $main_name_id, $this->jqGetTranslatedDateFormat(), $main_name_id, $main_name_id, $main_name_id, $main_name_id ); return javascript_tag($js); }
logs
8126.4 KB