0

私は次のフォームを持っています:

    $(function() {
$("#message").keyup(function() {
var text_msg = $("#message").val();
    if(text_msg.length > 3 && text_msg.length <= 140)
    {
        $('#post').attr('disabled', '');
        $('#post').attr('value', 'Submit');
    }else{
        $('#post').attr('disabled', 'disabled');
        $('#post').attr('value', 'Wait...')
        if(text_msg.length > 3 && text_msg.length > 140){
            alert('Your message exceeded the number of characters which is 140. Delete a few letters.');
        }
    }

});

});

        $(function() {
$(".resp").click(function(){
    var idf = $(this).attr('id');   
    newform = $("form#form-msg").clone(true);
        $("#new-form-"+idf).append(newform);// These id's are generated dynamically
    });
 });

    <form method="post" name="form-msg" id="form-msg" action="javascript:func()"> 
        <textarea id="message" name="message"></textarea>
        <input type="submit" value="wait..." id="post" align="left" disabled="disabled" />
    </form>

<div id="new-form-1"></div>
<div class="resp" align="center" id="1">Reply</div>
<div id="new-form-2"></div>
<div class="resp" align="center" id="2">Reply</div>
<div id="new-form-3"></div>
<div class="resp" align="center" id="3">Reply</div>

フォームを複製すると、元のように機能しません。送信ボタンはアクティブではなく、フォームを送信する状態ではありません。すべてが完璧に機能し、複製されたフォームの入力が少なくなります。クローン関数を元の関数と同じにするにはどうすればよいですか?

4

1 に答える 1

0

属性を空白にするだけでなく、属性を削除する必要があります。無効な属性が存在すると、空の場合でもボタンが無効になります。jQuery では、これ$(...).removeAttr('disabled')$(...).attr('disabled', '')

于 2012-04-22T23:00:19.913 に答える