4

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

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");
      }       
   }

}

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

4

2 回答 2

6

You can use QWebElement::evaluateJavaScript().

qDebug() << "element.attribute value:" << element.evaluateJavaScript("this.value").toString();
于 2010-09-13T21:05:48.093 回答
1

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

于 2010-09-09T11:48:49.333 回答