【发布时间】:2013-08-27 09:51:43
【问题描述】:
我有一个带有 <input type=file> 的 HTML 页面
我正在使用 QtWebkit,并且已经能够获取 INPUT 类型的 QWebElement。
如何将其值设置为特定字符串(文件路径)以便提交表单?
【问题讨论】:
我有一个带有 <input type=file> 的 HTML 页面
我正在使用 QtWebkit,并且已经能够获取 INPUT 类型的 QWebElement。
如何将其值设置为特定字符串(文件路径)以便提交表单?
【问题讨论】:
设置input 元素的value 属性是一种天真的做法。
element->setAttribute("value", "path");
不过,这是行不通的,因为除非您是“浏览器”,否则不允许设置此属性。
可能要走的路是使用mozSetFileNameArray,像这样:
const QString filePath = "/foo/bar/baz"; // or "C:\foo\bar\baz"
const QString js = QString(
"var fileArray = {'%1'};"
"this.mozSetFileNameArray(fileArray, fileArray.length);"
).arg(filePath);
element->evaluateJavaScript(js);
【讨论】: