Il y a quelque chose de bizarre et je suis perplexe.
Lorsque j'ai un champ d'entrée avec un caractère de remplacement, par exemple
<input id="box1" placeholder="not applicable">
J'ai toujours été en mesure de saisir l'entrée de l'utilisateur, ou si l'entrée est laissée vide la valeur de l'espace réservé avec jquery comme tel :
var text = $('#box1').val();
Pas de problème. Utilisation de Jquery .val()
faisait toujours l'affaire. Puis j'ai commencé à voir des erreurs de sortie de code dans des applications qui fonctionnaient auparavant, dans lesquelles les entrées vides ne capturaient pas la valeur de l'espace réservé.
Est-ce que quelque chose a changé avec le moteur javascript qui pourrait expliquer cela ? Ou existe-t-il un nouveau moyen d'obtenir la valeur de l'espace réservé si le champ de saisie est vide ?
Voir cet exemple :
$('#done').on('click', function(){
if($('#box3').val() == ''){
var box3 = $(this).data('placeholder');
} else {
var box3 = $('#box3').val();
}
$('#output').val(box3);
});
// Clicking the button doesn't capture the placeholder value if empty?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input id="box3" placeholder="not applicable">
<br><br>
<button id="done">
Done
</button>
<br><br>
<textarea id="output"></textarea>
<br><br>
<p>
Why doesn't the button click capture the value of the placeholder in this instance, using jquery 3.1.1?
</p>