質問する
847 次
4 に答える
2
コードに多数のエラーがあります。jsFiddle を使用しているので、次回は JSHint 関数を使用して作業することをお勧めします。
あなたが提案したように機能させるために、私の最終的なjQueryは次のとおりでした:
var $j = jQuery.noConflict();
$j("#textArea").on("keyup keydown keypress", function(){ //captures all key input, not always necessary
var count = $j(this); //you were missing 'var' and were using $ instead of $j
if ($j(this).val().length <= 30 ) {
$j("#charNum").text(30 - count.val().length); //you had an unmatched bracket here
} else { //could not compare bracketed values as an else, use else if, or no if at all
$j("#charNum").text("submit is now enabled");
$j("#submit").removeAttr('disabled');
} //your closing bracket was back to front
});
maxlength
編集:テキスト入力を制限したい場合は、テキストエリアの属性を使用して、制限したい文字数に設定できることを忘れないでください。これは最新のすべてのブラウザーで機能します。私が思い出す限り、IE 7 または 8 までさかのぼると、どれを忘れてしまいました。
于 2013-08-13T08:14:31.360 に答える
0
$("#textArea").on('keyup', function(){
var th = $(this), val = $.trim(th.val()), chars = val.length;
$j("#charNum").html(chars + ' of 30 entered');
if(chars === 30){
$("#submit").attr('enabled', true);
}
});
于 2013-08-13T08:04:26.533 に答える
0
これを試して
jquery.limitプラグインを使用できます
<script type="text/javascript" src="https://jquery-limit.googlecode.com/files/jquery.limit-1.2.source.js"></script>
<textarea name="value" id="value" style="width: 100%; height: 150px"></textarea>
<span id="charsLeft"></span> Characters left.
<script type="text/javascript">
$('#value').limit('30', '#charsLeft');
</script>
于 2013-08-13T08:04:39.837 に答える