我正在寻找一种使用jQuery移动结束表单标记的方法。
目前HTML看起来像这样:
<form class="myform">
<input class="text_field" id="profile_nickname" name="profile[nickname]" size="30" type="text" value="" data-validate="true">
</form>
<div class="form-action">
<submit class="x">
</div>
由于提交标记位于表单之外,因此提交按钮不起作用。
我想说的是:
$(".myform").remove('</form>')
$('</form>').appendTo($('.form-action'))
这当然不起作用。任何想法都将不胜感激。
答案 0 :(得分:5)
.append()不能像字符串连接一样工作,你可以切一个切片并将其粘贴到其他地方......你需要移动dom元素
$('.form-action').appendTo('.myform')
答案 1 :(得分:0)
您可以使用点击事件发送表单
$(".form-action").click(submitForm);
function submitForm(){
$(".myform").submit();
}
答案 2 :(得分:0)
你可以克隆旧对象,将新对象追加到“表单”,然后隐藏旧对象。
var $new = $('.form-action').clone();
$('.form-action').hide();
$new.show();
$new.appendTo('.myform');
答案 3 :(得分:0)
这感觉非常错误,但我知道在恶劣的条件下使用仇恨的内容管理系统是什么样的......所以这就是......
如果没有别的办法 ,您可以使用。html()重置HTML内容,如下所示:
<强> Working Example 强>
$('body').html(
'<form class="myform">' +
'<input class="text_field" id="profile_nickname" name="profile[nickname]" size="30" type="text" value="" data-validate="true">' +
'<div class="form-action">' +
' <submit class="x">' +
'</div></form>');
这是一种丑陋的方式,但是如果你被置于一个角落,它将起作用。