如何克隆表单并使克隆功能与原始完全一致?

时间:2012-04-22 22:54:23

标签: forms clone

我有以下表格:

    $(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>

当我克隆表单时,它不像原始表单那样工作,提交按钮不活动,而不是在提交表单的状态。一切都很完美,克隆形式的投入较少。如何使克隆函数与原始函数相同?

1 个答案:

答案 0 :(得分:0)

你需要删除属性而不是只消隐它们,禁用属性的存在,即使它是空的也会导致按钮被禁用。使用jQuery,这意味着$(...).removeAttr('disabled')而不是$(...).attr('disabled', '')