J'ai 2 champs: 1 entrée, 1 case de sélection.
Est-il possible de faire désactiver le navigateur par l'un des champs lorsque l'utilisateur utilise l'autre?
Par exemple, si l'utilisateur entre des données dans l'entrée, la case de sélection est désactivée. Si l'utilisateur sélectionne des données dans la sélection (liste déroulante), l'entrée est désactivée.
Toute aide à cet égard serait très appréciée.
Bravo à l'avance.
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#suburb").blur(function() {
if ($(this).val() != '')
$("#post_code").attr("disabled", "disabled");
else
$("#post_code").removeAttr("disabled");
});
$("#post_code").blur(function() {
if ($(this).val() != '')
$("#suburb").attr("disabled", "disabled");
else
$("#suburb").removeAttr("disabled");
});
});
</script>
Vous devrez également ajouter un attribut value à la première option sous votre élément select:
<option value=""></option>
Les documents jQuery disent d'utiliser prop () pour des choses comme désactivé, vérifié, etc. La manière la plus concise est également d'utiliser leur moteur de sélection. Donc, pour désactiver tous les éléments du formulaire dans un parent div ou form.
$myForm.find(':input:not(:disabled)').prop('disabled',true);
Et pour réactiver, vous pourriez faire
$myForm.find(':input:disabled').prop('disabled',false);
$('input, select').attr('disabled', 'disabled');
essaye ça
$("#inp").focus(function(){$("#sel").attr('disabled','true');});
$("#inp").blur(function(){$("#sel").removeAttr('disabled');});
vice versa pour la sélection également.
Voici un plugin jquery pour faire de même: http://s.technabled.com/jquery-foggle