summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xexamples/webkit/formextractor/form.html24
-rw-r--r--examples/webkit/formextractor/formextractor.cpp29
-rw-r--r--examples/webkit/formextractor/formextractor.h4
3 files changed, 25 insertions, 32 deletions
diff --git a/examples/webkit/formextractor/form.html b/examples/webkit/formextractor/form.html
index 18ddff1..6b0bbde 100755
--- a/examples/webkit/formextractor/form.html
+++ b/examples/webkit/formextractor/form.html
@@ -1,22 +1,4 @@
-<html><script>
-function extractFormValues()
-{
- var firstName = document.getElementById("firstname").value;
- var lastName = document.getElementById("lastname").value;
- var maleGender = document.getElementById("genderMale");
- var femaleGender = document.getElementById("genderFemale");
-
- var gender = "";
- if (maleGender.checked)
- gender = maleGender.value;
- else if (femaleGender.checked)
- gender = femaleGender.value;
-
- var updates = document.getElementById("updates").checked;
-
- formExtractor.setValues(firstName, lastName, gender, updates);
-}
-</script><body>
+<html><body>
<h1>
The Green People Book Club
</h1>
@@ -24,7 +6,7 @@ The Green People Book Club
<p>
Welcome to The Green People Book Club. Please register to obtain a membership with us.
</p>
- <form onsubmit="extractFormValues()">
+ <form onsubmit="formExtractor.submit()">
<table>
<tbody><tr>
<td>
@@ -61,4 +43,4 @@ Welcome to The Green People Book Club. Please register to obtain a membership wi
<input type="submit" value="Submit">
</form>
-</body></html> \ No newline at end of file
+</body></html>
diff --git a/examples/webkit/formextractor/formextractor.cpp b/examples/webkit/formextractor/formextractor.cpp
index d5ecc29..9bb3d9e 100644
--- a/examples/webkit/formextractor/formextractor.cpp
+++ b/examples/webkit/formextractor/formextractor.cpp
@@ -41,6 +41,8 @@
#include "formextractor.h"
+#include <QWebElement>
+
FormExtractor::FormExtractor(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
@@ -55,17 +57,28 @@ FormExtractor::~FormExtractor()
{
}
-void FormExtractor::setValues(const QString &firstName, const QString &lastName,
- const QString &gender, bool updates)
+void FormExtractor::submit()
{
- ui.firstNameEdit->setText(firstName);
- ui.lastNameEdit->setText(lastName);
- ui.genderEdit->setText(gender);
+ QWebFrame *frame = ui.webView->page()->mainFrame();
- if (updates == false)
- ui.updatesEdit->setText("No");
- else
+ QWebElement firstName = frame->findFirstElement("#firstname");
+ QWebElement lastName = frame->findFirstElement("#lastname");
+ QWebElement maleGender = frame->findFirstElement("#genderMale");
+ QWebElement femaleGender = frame->findFirstElement("#genderFemale");
+ QWebElement updates = frame->findFirstElement("#updates");
+
+ ui.firstNameEdit->setText(firstName.scriptableProperty("value").toString());
+ ui.lastNameEdit->setText(lastName.scriptableProperty("value").toString());
+
+ if (maleGender.scriptableProperty("checked").toBool())
+ ui.genderEdit->setText(maleGender.scriptableProperty("value").toString());
+ else if (femaleGender.scriptableProperty("checked").toBool())
+ ui.genderEdit->setText(femaleGender.scriptableProperty("value").toString());
+
+ if (updates.scriptableProperty("checked").toBool())
ui.updatesEdit->setText("Yes");
+ else
+ ui.updatesEdit->setText("No");
}
void FormExtractor::populateJavaScriptWindowObject()
diff --git a/examples/webkit/formextractor/formextractor.h b/examples/webkit/formextractor/formextractor.h
index 5b11565..017d645 100644
--- a/examples/webkit/formextractor/formextractor.h
+++ b/examples/webkit/formextractor/formextractor.h
@@ -55,9 +55,7 @@ public:
~FormExtractor();
public slots:
- void setValues(const QString &firstName, const QString &lastName,
- const QString &gender, bool updates);
-
+ void submit();
void populateJavaScriptWindowObject();
private: