我有以下表格:
$(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>
当我克隆表单时,它不像原始表单那样工作,提交按钮不活动,而不是在提交表单的状态。一切都很完美,克隆形式的投入较少。如何使克隆函数与原始函数相同?
答案 0 :(得分:0)
你需要删除属性而不是只消隐它们,禁用属性的存在,即使它是空的也会导致按钮被禁用。使用jQuery,这意味着$(...).removeAttr('disabled')
而不是$(...).attr('disabled', '')