0

html:

    <script src="http://zurb.com/playground/javascripts/plugins/jquery.textchange.min.js"></script>
<form>
        <input type="text" name="comment" id="comment" placeholder="Comment" maxlength="140" value=""/>
      <div id="charactersLeft"></div>
        <input type="submit" id="commentButton" data-icon="edit" data-inline="true" data-mini="true" data-theme="b" value="Send" disabled="disabled"/>
    </form>
    <div id="actionList">
    </div>

js:

$('#comment').bind('hastext', function () {
  $('#commentButton').button('enable');
});

$('#comment').bind('notext', function () {
  $('#commentButton').button('disable');
});

$('#comment').bind('textchange', function (event, previousText) {
  $('#charactersLeft').html( 140 - parseInt($(this).val().length) );
});

  $('#commentButton').click(
    function(){
        $('#actionList').prepend('<p class="item">' + $('input[name=comment]').val().trim() + '</p>');
        $('#commentForm').each (function(){ this.reset(); });
        //document.getElementById('commentForm').reset();
        $(this).button('disable');
    }
);

フィドルでは、私のマシンでは別の作品ですというわけで、ローカルでテスト。問題は、コメントを書くときにボタンをクリックすると、コメントが#actionListに表示され、ボタンがブロックされることです。良い。しかし。新しいコメントを書きたい場合は、ボタンが無効になります。入力にテキストがありますが、ボタンをクリックできません。入力で新しいテキストを削除したので、何かを書き、ボタンが最終的に有効になりました。

それは非常に奇妙です、それを修正する方法は?ありがとう。

4

1 に答える 1

1

投稿されたコメントを削除するために、次の行を追加しました。

$('#comment').val("");

関数と関数を次のコードに置き換え、hastext関数に追加しました。notexttextchange

var tb_value = this.value;
if (tb_value == "") {
    $('#commentButton').button('disable');
} else {
    $('#commentButton').button('enable');
}

フィドルを参照してください。

于 2013-07-29T12:35:45.993 に答える