【问题标题】:Setting input to QWebElement将输入设置为 QWebElement
【发布时间】:2013-08-27 09:51:43
【问题描述】:

我有一个带有 <input type=file> 的 HTML 页面

我正在使用 QtWebkit,并且已经能够获取 INPUT 类型的 QWebElement。

如何将其值设置为特定字符串(文件路径)以便提交表单?

【问题讨论】:

    标签: qt qtwebkit


    【解决方案1】:

    设置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);
    

    【讨论】:

    • 感谢您的回复。设置“值”属性不起作用。我使用 QNetworkAccessManager post 方法解决了这个问题。
    • 你检查过 mozSetFileNameArray 的做法了吗?那个应该可以的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多