Re: Re: How to implement a dropdownlist in CherryPy where selected item is returned as argument appended to current URL?

Tim Roberts <[email protected]> Tue, 14 May 2019 15:31:00 -0700
Newsgroups gmane.comp.python.cherrypy
Organization Providenza & Boekelheide, Inc.
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--------------ms030301000706070701000704
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US

Jibun no Kage wrote:
> Below is a link that illustrates my point about how more than just=20
> straight HTML is used...
> https://css-tricks.com/unobtrusive-page-changer/

I disagree violently.=C2=A0 The drop-down list in that example is nothing b=
ut=20
pure HTML.=C2=A0 When the submit button is clicked, it sends a URL back to=
=20
the server.=C2=A0 The acts on the URL just like it does for every other=20
request.=C2=A0 What do you see as special in that example?

I also have to disagree with the wording on that page.=C2=A0 What he calls=
=20
the "obtrusive way" is handled entirely in the browser. Everything takes=20
place locally, with no additional network traffic.=C2=A0 What he calls the=
=20
"unobtrusive way" requires an extra and totally unnecessary round-trip=20
back to the web server, just so it can send a header to force the=20
browser to do the exact same thing that one line of Javascript was doing.


> No one, that I have seen so far, appears to do a drop down list with=20
> just straight HTML, that responds on selection completion of an item,=20
> which is what I was looking for.

The straight HTML example you cited does not do that, either.=C2=A0 It=20
requires the user to click the "submit" button.=C2=A0 The modified version =
at=20
the bottom is using Javascipt plus jQuery plus that extra server=20
round-trip to accomplish what the first example did with a single line=20
of code.=C2=A0 The final product there is worse than the original example i=
n=20
every conceivable way.=C2=A0 It requires more Javascript code on the page, =
it=20
requires you to load jQuery in the page, and it requires an extra server=20
round-trip.=C2=A0 I can't tell what they were trying to prove here, but the=
y=20
failed to do so.


> Clearly, CherryPy has no native hook or method to do this, per the=20
> past discussion thus far.

And neither does PHP.


> This reliance on Java or PHP as the above link references, provides=20
> the event logic.

You do understand that Java and Javascript are not related in any way,=20
don't you?=C2=A0 The page you cited shows three lines of PHP running on the=
=20
server.=C2=A0 ALL of the other code there is Javascript that gets sent with=
=20
the HTML and executed in the browser, and would be present regardless of=20
the language used on the server. Do you understand that the chunk of=20
code that starts "$(function() {" is Javascript and not PHP?

If you are looking for the CherryPy equivalent to the three lines of PHP=20
code on that page, that's easy enough:

 =C2=A0=C2=A0=C2=A0 @cherrypy.expose
 =C2=A0=C2=A0=C2=A0 def number( self, nav=3DNone ):
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if nav:
 =C2=A0 =C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cherrypy.response=
.headers['Location'] =3D nav


> Our project design is 100% python and within the CherryPy=20
> environment.=C2=A0 To add just one drop down list... we have to add an=20
> additional language?=C2=A0 Be it Java, PHP, or whatever, It appears that =
is=20
> the case.

No, I think you are confused about which code is running where.

--=20
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.


--=20
You received this message because you are subscribed to the Google Groups "=
cherrypy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to cherrypy-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
To post to this group, send email to cherrypy-users-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
Visit this group at https://groups.google.com/group/cherrypy-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/=
cherrypy-users/07d3d53d-2f05-60dc-cf2e-b030813c5f5d%40probo.com.
For more options, visit https://groups.google.com/d/optout.

--------------ms030301000706070701000704
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
CxUwggUnMIIED6ADAgECAhBoP+rRK2CFDztwhYipKhMsMA0GCSqGSIb3DQEBCwUAMIGXMQsw
CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm
b3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBD
bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0xODA4MTQwMDAw
MDBaFw0xOTA4MTQyMzU5NTlaMB8xHTAbBgkqhkiG9w0BCQEWDnRpbXJAcHJvYm8uY29tMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvUp6dQDpjqt/rsHjA22dNdGRaEDDl6Os
ZFOJdoHyMuiy/x9aKq+p60RdXpSRMu8CwHAj3+2taKdJL8Vn6wOxa0dZpOjUOA0fn2aZ+8U7
jv/Gw0sVHw/3x9I8SUV21vgooRZFBKlFnOqyU8hnWWu93S43YirhLiuNva38BKvbL12Ybv1O
i9cc/RFXhrasUrAdgWILYGdOkXllRdrrBC3Ir9cm6xXLdtOeHVEyb2bxr8tccBKlcmBPU7sY
vJatEoKh5DDenQKvyN7MYOOAGIrcbffX8AGr4UIC9SGYmJsWeqUJYt/uqhaRaV+ekhywhTgj
QIoEp7q3TzaNuak+puAPIQIDAQABo4IB5DCCAeAwHwYDVR0jBBgwFoAUgq9sjPjF/pZhfOgf
PStxSF7Ei8AwHQYDVR0OBBYEFETarb5rMaxRP+mRiqAO4L2s9nbSMA4GA1UdDwEB/wQEAwIF
oDAMBgNVHRMBAf8EAjAAMCAGA1UdJQQZMBcGCCsGAQUFBwMEBgsrBgEEAbIxAQMFAjARBglg
hkgBhvhCAQEEBAMCBSAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIBAQEwKzApBggrBgEFBQcC
ARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0
cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRT
ZWN1cmVFbWFpbENBLmNybDCBiwYIKwYBBQUHAQEEfzB9MFUGCCsGAQUFBzAChklodHRwOi8v
Y3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3Vy
ZUVtYWlsQ0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wGQYD
VR0RBBIwEIEOdGltckBwcm9iby5jb20wDQYJKoZIhvcNAQELBQADggEBAJnexNN7lzX5o4zI
NSG/XReFH6tGTUt4B1dDJeB2oNqOG2QMU2JypG50YvlHYiZb9KguqKQ0ZJEhISi1f0V+McyD
bKySqGhBppX68wLSnadRQhFis3le47ZKZIDtbn8OCsTaVTSVIHSMab3Ze86zebOWhL85jA5f
rWYzvBuJeiQkCapYTIyCkKGj2csrfEvuOFLFlPR7F83Z4qw33tkYfkPd2NIQ+O9ai0AU2/qM
qTnb+c+DoN8HI6j2JWmdK77hlj/KRK2JASI+EvsblEBoiOg3EjzAnQMdBvhxbhgnh+OqjTMX
Ra2hJJ11AtjV2QLeujbwS8W0AnlJsd8B6Sf7FQcwggXmMIIDzqADAgECAhBqm+E4O/8ra58B
1dm4p1JWMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRl
ciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGlt
aXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
MzAxMTAwMDAwMDBaFw0yODAxMDkyMzU5NTlaMIGXMQswCQYDVQQGEwJHQjEbMBkGA1UECBMS
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8g
Q0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g
YW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6z
nlesKHZ1QBbHOAOY08YYdiFQ8yV5C0y1oNF9Olg+nKcxLqf2NHbZhGra0D00SOTq9bus3/mx
gUsg/Wh/eXQ0pnp8tZ8XZWAnlyKMpjL+qUByRjXCA6RQyDMqVaVUkbIr5SU0RDX/kSsKwer3
H1pT/HUrBN0X8sKtPTdGX8XAWt/VdMLBrZBlgvnkCos+KQWWCo63OTTqRvaq8aWccm+KOMjT
cE6s2mj6RkalweyDI7X+7U5lNo6jzC8RTXtVV4/Vwdax720YpMPJQaDaElmOupyTf1Qib+cp
ukNJnQmwygjD8m046DQkLnpXNCAGjuJy1F5NATksUsbfJAr7FLUCAwEAAaOCATwwggE4MB8G
A1UdIwQYMBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSCr2yM+MX+lmF86B89
K3FIXsSLwDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADARBgNVHSAECjAI
MAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09N
T0RPUlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsG
AQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNy
dDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
A4ICAQB4XLKBKDRPPO5fVs6fl1bsj6JrF/bz9kkIBtTYLzXN30D+03Hj6OxCDBEaIeNmsBhr
JmuubvyE7HtoSmR809AgcYboW+rcTNZ/8u/Hv+GTrNI/AhqX2/kiQNxmgUPt/eJPs92Qclj0
HnVyy9TnSvGkSDU7I5Px+TbO+88G4zipA2psZaWeEykgzClZlPz1FjTCkk77ZXp5cQYYexE6
zeeN4/0OqqoAloFrjAF4o50YJafX8mnahjp3I2Y2mkjhk0xQfhNqbzlLWPoT3m7j7U26u7zg
6swjOq8hITYc3/np5tM5aVyu6t99p17bTbY7+1RTWBviN9YJzK8HxzObXYWBf/L+VGOYNsQD
TxAk0Hbvb1j6KjUhg7fO294F29QIhhmiNOr84JHoy+fNLpfvYc/Q9EtFOI5ISYgOxLk3nD/w
hbUe9rmEQXLp8MB933Ij474gwwCPUpwv9mj2PMnXoc7mbrS22XUSeTwxCTP9bcmUdp4jmIoW
fhQm7X9w/Zgddg+JZ/YnIHOwsGsaTUgj7fIvxqith7DoJC91WJ8Lce3CVJqb1XWeKIJ84F7Y
LXZN0oa7TktYgDdmQVxYkZo1c5noaDKH9Oq9cbm/vOYRUM1cWcef20Wkyk5S/GFyyPJwG0fR
1nRas3DqAf4cXxMiEKcff7PNa4M3RGTqH0pWR8p6EjGCBDUwggQxAgEBMIGsMIGXMQswCQYD
VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk
MRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGll
bnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQaD/q0StghQ87cIWIqSoT
LDANBglghkgBZQMEAgEFAKCCAlkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG
9w0BCQUxDxcNMTkwNTE0MjIzMTAwWjAvBgkqhkiG9w0BCQQxIgQgF28ikCpQZk/55SsUxqjn
jOSnegRt9QelxW3LXDARdWcwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZI
AWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUr
DgMCBzANBggqhkiG9w0DAgIBKDCBvQYJKwYBBAGCNxAEMYGvMIGsMIGXMQswCQYDVQQGEwJH
QjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYD
VQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0
aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQaD/q0StghQ87cIWIqSoTLDCBvwYL
KoZIhvcNAQkQAgsxga+ggawwgZcxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h
bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVk
MT0wOwYDVQQDEzRDT01PRE8gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBAhBoP+rRK2CFDztwhYipKhMsMA0GCSqGSIb3DQEBAQUABIIBAK9ICsrUNBBW
3wTvKyR1z8rD2fD04hVrCagtzj7m5FjDj8Dbgz7v/1ZzAA0YGI58YCmzd+Ra1pmvIIFWFMNf
JBz3/vPSoiNGYFHUvBhyUTFh0sq91NRLaZ6GWwgoej6cY7JszrZmW2aUmD+i7GQnZ6Oi7MWz
m2RIpMV7WwHnOw0qJqX1MxAtVPIMhpp8RKWMc5nTM3tfpTezobuR8Rlk5JhYjzBjDPbe7zDt
WOnImOlS+QuLeotdcGxXL+/J+vX8NL5S4UIEm9Y4S8jpGOMTpU0+WOtVagFObTogRugp2pdg
PwLZbd4wRwpeNHwkcrFzI7IWkTDNXhEFxGu5uQjXpyoAAAAAAAA=
--------------ms030301000706070701000704--