J'ai une zone de texte et je veux que les utilisateurs modifient ce qui existe déjà et appuient sur Entrée pour soumettre à l'aide d'un appel ajax, mais désactivent également le passage à une nouvelle ligne une fois que Entrée est enfoncée. merci
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
$(document).keypress(function(e) {
if (!$(".specialClass").is(":focus")) {
e.preventDefault();
if (e.which == 13) {
console.log('You pressed enter!');
}
}
});
3 Réponses :
Vous utiliseriez quelque chose comme:
$('textarea').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
// Ajax code here
return false;
}
});
J'espère que cela vous aidera.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <textarea class="specialClass"> This is my text with some lines bye </textarea>
.specialClass {
width: 80%;
height: 80px;
}
$(document).keypress('.specialClass', function(e) {
if (e.which == 13) {
e.preventDefault();
console.log('You pressed enter!');
}
});
Je veux que les utilisateurs modifient ce qui est déjà là et appuyez sur Entrée pour soumettre en utilisant un appel ajax, mais également le désactiver en allant sur une nouvelle ligne une fois que vous appuyez sur Entrée
En utilisant votre conception de codage, une légère refonte de votre code devrait faire l'affaire:
$(document).keypress(function(e) { if($(".specialClass").is(":focus")){ if(e.which == 13) { e.preventDefault(); let text_value = $(".specialClass").val() console.log('Sending Ajax with text',text_value); } } });