Estoy trabajando con Jquery y php, tengo un cuadro de texto y estoy tratando de pasar el valor de "atributo de datos" (valores de datos) usando jquery pero obtengo "indefinido" como respuesta, Aquí está mi código, ¿Dónde estoy equivocado?
<input type='text' name='postcmnt' class='postcmnt' value='" + str + "' data-vals='123' onkeydown='search(this)' /> <script> function search(ele) { if(event.key === 'Enter') { var valss=$(this).data('vals'); alert('attribute value is '+valss); } } </script>Simplemente puede usar on presionar una keypress con class postcmnt o con input
$('.postcmnt').on('keypress', function(e) { var code = e.keyCode || e.which; var _t = $(this); if(code==13){ var valss=_t.data('vals'); var inputVal=_t.val(); alert('attribute value is '+valss); alert('input value is '+inputVal); } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type='text' name='postcmnt' class='postcmnt' value='abc' data-vals='123'/>También puedes probar esto -
<input type='text' name='postcmnt' class='postcmnt' value='' data-id="123" onkeydown="search(this)" /> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> function search(ele) { if(event.key === 'Enter') { console.log(ele.getAttribute("data-id")); } } </script>