5 回答
从技术上讲,您可以使用该form
属性将 atextarea
与表单相关联:
<form ... id="foobar">
...
</form>
...
<textarea form="foobar" ...>
这是例如 Chrome 和 Firefox 支持的 HTML5 功能,但 IE 9 不支持。
因此,请查看其他选项,主要是按照 @niomaster 的建议重新组织页面,或者按照 @Fluffeh 的建议使用 JavaScript。但是,在基本功能方面依赖启用 JavaScript 并不是一个好主意。在重新组织页面时,应注意避免弄乱可能依赖于当前标记的任何样式(或脚本)。另请注意,当前标记是无效的,因为li
元素只允许作为ol
or的子元素ul
,因此无论如何都建议进行重组(如果可行)。
最简单的情况是,将开始标签移动到元素<form ...>
的最开始,将结束标签移动到元素结束之前就足够了。那么页面上的所有表单字段元素都将是该表单的字段。body
</form>
body
您可以使表单成为最外层的标签。它不会改变文档的流程。
使用 jQuery
//从文本区域获取文本
var textareadata = $("#code").val();
//动态地将隐藏字段附加到您的表单
$('form').append('<input type="hidden" name="myfieldname" value="myvalue" id='myvalue'/>');
// 动态将您的文本 adtea 数据写入隐藏字段附加到表单
$('#myvalue').val(textareadata);
您不能直接 - 如果它不在表单中,则无法提交。
您可以做的最好的事情是编写一个自定义的 javascript 函数来替换您的“提交(图像类型)”操作,并将文本表单中的数据复制到表单内的隐藏字段中,然后将表单作为最后一个操作提交。这将获得您想要的结果,而用户并不真正知道您在幕后做什么。
编辑:正如 niomaster 正确指出的那样,表单可以跨越的不仅仅是单个<div>
或<li>
属性。您可以轻松扩展它而无需更改代码结构。
阿米雷格尔兹,
您可以在表单标签中添加一个 id。使用 jquery 获取文本区域的值 [$("#text-areaID").val();] 并使用 jquery/javascript 添加隐藏字段,然后在验证表单后将值传递给您动态创建的隐藏字段提交表格。您也可以在 php 页面中获取 textarea 的值。
希望它会帮助你。如果有帮助,请将其标记为答案。