QtWebkit 和 QWebElement - 获取用户输入?

发布于 2024-09-18 11:14:06 字数 626 浏览 13 评论 0原文

如何在输入字段中获取用户输入?

QObject::connect( webView, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()) );
void slotLoadStarted()
{
   QWebFrame *frame = webView->page()->currentFrame();

   if (frame!=NULL)
   {
      QWebElementCollection collection = frame->findAllElements("input[name=email]");

      foreach (QWebElement element, collection)
      {
        qDebug() << "element.toOuterXml" << element.toOuterXml();
        qDebug() << "element.attribute value:" << element.attribute("value");
      }       
   }

如果我设置属性,它会起作用,但我想捕获用户输入,有什么想法吗

how can i get the userinput in an input-field?

QObject::connect( webView, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()) );
void slotLoadStarted()
{
   QWebFrame *frame = webView->page()->currentFrame();

   if (frame!=NULL)
   {
      QWebElementCollection collection = frame->findAllElements("input[name=email]");

      foreach (QWebElement element, collection)
      {
        qDebug() << "element.toOuterXml" << element.toOuterXml();
        qDebug() << "element.attribute value:" << element.attribute("value");
      }       
   }

}

if i set the attribute, than it works, but i want to catch the user input, any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不爱素颜 2024-09-25 11:14:06

您可以使用QWebElement::evaluateJavaScript()

qDebug() << "element.attribute value:" << element.evaluateJavaScript("this.value").toString();

You can use QWebElement::evaluateJavaScript().

qDebug() << "element.attribute value:" << element.evaluateJavaScript("this.value").toString();
内心旳酸楚 2024-09-25 11:14:06

关于此问题似乎存在错误。我想解决这个问题的一种方法是在 JavaScript 中创建一个 onKeyPress 事件处理程序,它将使用更改后的值更新一些隐藏元素,您可以使用该值从 Qt 代码内部读取值。

There seems to be a bug about this issue. I guess one way to go around this issue would be to create an onKeyPress event handler in JavaScript which will update some hidden element with the changed value which you use to read the value from inside the Qt code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文