请提供一个如何在HTML表单中使用object标记的示例。
我今天正在阅读HTML5规范,以了解现在存在哪种表单元素,并注意到以下内容:
可提交的元素
表示在提交表单元素时可用于构造表单数据集的元素:button,input,keygen,object, 选择,textarea http://www.w3.org/html/wg/drafts/html/master/forms.html#category-submit
显然,表单中可以包含对象标记,从而影响表单提交时发送的数据。我熟悉object标签的唯一环境是将Flash电影嵌入到页面中。您可以在表单中使用object标记并使其影响表单提交数据的示例情况是什么?
更新
在有关如何在提交时构建表单有效内容的规范中,在http://www.w3.org/html/wg/drafts/html/master/forms.html#constructing-form-data-set
中找到了这个有趣的代码段如果field元素是一个object元素:尝试获取一个表单 来自插件的提交值,如果成功,请附加一个 输入表单数据集,名称为名称,返回表单 提交值为值,字符串“object”为类型。
但是我想知道什么样的插件会提出这样的提交值。
更新
QtBrowserPlugin似乎支持在表单中使用它们。现在,我需要一个例子就是一个简约的插件。
http://doc.qt.digia.com/solutions/4/qtbrowserplugin/developingplugins.html#using-plugins-in-forms
答案 0 :(得分:1)
首先,我建议在http://www.w3.org/html/wg/drafts/html/CR/forms.html#constructing-form-data-set使用最新的HTML5文档,而不是HTML5.1文档。
我担心目前没有浏览器实现此行为。无论如何,如果你想模仿规范的目的,你可以使用这样的脚本:
<!DOCTYPE html>
<html>
<body>
<form method="post" action="index.html" id="myForm">
<input type="text" id="myFieldID" name="myFieldName" value="Hello World!" />
<object type="myPluginMIMETYPE" id="myPluginID" name="myPluginName" ></object>
<button type="submit">Submit</button>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
$( document ).ready(function() {
$( myForm ).on( "submit", function( event ) {
//Ask the plugin for some data, i.e. a flash object
var pluginData = "pluginImportantData"; // ideally something like $(myPluginID).giveMeSomeDataBecauseUserWantsToSubmit();
//Append the data before submission, giving to the input tag the right attributes
$(this).append('<input type="object" name="myPluginName" value="'+ pluginData +'" style="visibility:hidden"/>');
return true;
});
});
</script>
</body>
</html>
答案 1 :(得分:-1)
在尝试之后的第二个想法似乎将对象标签放在表单内部是行不通的,除非我可能错过了一个允许对象可见的cretin标签但是你可以使用div标签分开对象。我试过以下,第一部分工作正常,以“表格”开头的部分没有出现在火狐中,所以写作时可能会遗漏一些东西。编辑=已删除链接(无用)
<!DOCTYPE html>
<html>
<body>
<object width="400" height="400" data="file name.***"></object>
<div>
<object width="500" height="500" data="file name.***"></object>
<form>
<object width="500" height="500" data="1r.txt">
<object width="500" height="500" data="2r.txt">
</object>
</object>
</form>
</body>
</html>