jQuery更改输入类型=文本到文本区域

jQuery更改输入类型=文本到文本区域,jquery,forms,input,Jquery,Forms,Input,我有一个隐藏的领域。在drop事件之后,需要将其转换为“textarea” 这: 产生 属性无法更改 错误 此方法: 致: $('#myInput').detach().attr('type', 'textarea').val('HERE').insertAfter(marker); 行确实会导致文本框的值发生更改,所以选择器正在工作,并且元素被正确插入和删除 这是一个无法克服的安全问题吗?还是有办法做到这一点 您始终可以删除要更改的元素并添加新元素…您面临的问题是TextArea是一个元素

我有一个隐藏的领域。在drop事件之后,需要将其转换为“textarea”

这:

产生

属性无法更改

错误

此方法:

致:

$('#myInput').detach().attr('type', 'textarea').val('HERE').insertAfter(marker);
行确实会导致文本框的值发生更改,所以选择器正在工作,并且
元素被正确插入和删除


这是一个无法克服的安全问题吗?还是有办法做到这一点

您始终可以删除要更改的元素并添加新元素…

您面临的问题是TextArea是一个元素而不是属性

您应该删除以前的元素并替换为同名的新文本区域:

 var myoldInput = $('#myInput');  
 var value = myoldInput.val();
 $("<textarea id='myInput'></textarea>").before(myoldInput).val(value);
 myoldInput.remove();
var myoldInput=$('#myInput');
var值=myolInput.val();
$(“”).before(myolInput).val(value);
myolInput.remove();

$(“值因为
textarea
input
是一个完全不同的元素,只需创建一个新的
textarea
并删除
input
即可。尝试以下操作:

$input = $("#myHiddenInput")
$textarea = $("<textarea></textarea>").attr({
    id: $input.prop('id'),
    name: $input.prop('name'),
    value: $input.val()
});
$input.after($textarea).remove();
$input=$(“#myHiddenInput”)
$textarea=$(“”)。attr({
id:$input.prop('id'),
名称:$input.prop('name'),
值:$input.val()
});
$input.after($textarea.remove();

对于该记录,您向新文本区域传递id和名称的方式无效。它应该是
id:input.attr(“id”)
name:input.attr(“name”)
$('#myInput').detach().attr('type', 'textarea').val('HERE').insertAfter(marker);
 var myoldInput = $('#myInput');  
 var value = myoldInput.val();
 $("<textarea id='myInput'></textarea>").before(myoldInput).val(value);
 myoldInput.remove();
$("<textarea>value</textarea").insertAfter($(parent).find('#excerpt'));
$(parent).find('input#excerpt').remove()
$input = $("#myHiddenInput")
$textarea = $("<textarea></textarea>").attr({
    id: $input.prop('id'),
    name: $input.prop('name'),
    value: $input.val()
});
$input.after($textarea).remove();