<object>标记如何影响表单提交</object>

时间:2013-10-04 08:04:53

标签: html html5 forms

请提供一个如何在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

2 个答案:

答案 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>