我通过替换内容并在textarea中添加该内容来即时创建几个textareas。请查看以下代码:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("#content").find(".editable").each(function(count){
var content = $(this).html();
$(this).html("");
var txtArea = document.createElement('textarea');
txtArea.setAttribute('cols', '80');
txtArea.setAttribute('name', "content[]");
txtArea.setAttribute('rows', '10');
txtArea.innerHTML(content);
this.appendChild(txtArea);
})
});
</script>
现在,当我将此表单发布到php页面时,我没有获得在POST数组中创建的textareas的值
请提供指导,如果我能做任何事情让我的问题更清楚,请告诉我......
由于
答案 0 :(得分:0)
您没有发布任何HTML - 是否在表单中附加了文本区域?如果没有,那那就是你的问题。
答案 1 :(得分:0)
最好像这样创建文本区域:
this.appendChild('<textarea rows="10" cols="80" name="content[]"></textarea>');
答案 2 :(得分:0)
在Firefox 3.x中测试过。
this.appendChild(txtArea);
这会将新创建的textarea附加到现有的textarea。你最终得到的是:
<textarea class="editable">
<textarea cols="80" name="content[]" rows="10"></textarea>
</textarea>
我可以看到这会产生意想不到的结果。还有什么意义呢?
var content = $(this).html();
你永远不会对内容的价值做任何事情。