Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: Re: Re: Creating Advanced Client-Side Applications With Perl

by Jenda (Abbot)
on Apr 19, 2004 at 17:51 UTC ( [id://346367]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: Creating Advanced Client-Side Applications With Perl
in thread Creating Advanced Client-Side Applications With Perl

Are you sure it's not called?

Try to add

use Win32; Win32::MsgBox("How are you?");
into the subroutine. It seems to me it does get called (IE 6.0.2800.1106), but the code doesn't do anything.

I tried to fix it but I can't find the contentFrame. I tried to use

sub displayObj { my $obj = shift(); Win32::MsgBox("Keys: " . join(', ', map { "$_ => $obj->{$_}" } sor +t keys %$obj )); } ... displayObj( $window); displayObj( $window->{document}); ...
, but I can't find anything.

Quite possibly it would be best to use JavaScript for most of the "client-side" stuff and only call some PerlScript subroutines from the JavaScript.:

<SCRIPT LANGUAGE="PerlScript"> sub DoSelectSite { $window->{document}->{Location} = $window->{document}->Forms( 0 )- +>{SiteSelector}->{Value}; } </SCRIPT> <script language="JavaScript"> function SelectSite () { DoSelectSite(); } </script> <BODY> <P>Select a site to browse.</P> <HR> <FORM> <SELECT NAME="SiteSelector" SIZE = "1" onChange="JavaScript:SelectSite +()"> <OPTION VALUE="">--select one-- <OPTION VALUE="http://www.ncat.edu">North Carolina A and T State Unive +rsity</OPTION> <OPTION VALUE = "http://www.uncg.edu">University of North Carolina at +Greensboro</OPTION> </SELECT> </FORM> </BODY>

Jenda
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
   -- Rick Osborne

Edit by castaway: Closed small tag in signature

Replies are listed 'Best First'.
Re5: Creating Advanced Client-Side Applications With Perl
by dragonchild (Archbishop) on Apr 19, 2004 at 18:28 UTC
    The question here, imho, isn't whether or not it's called. (Though, I don't think it is because putting in a $window->alert("It's me!"); doesn't pop up.) It's what mistake(s), if any, did I make in trascribing the JavaScript into PerlScript. PerlScript on the client-side is advertised as being identical to JavaScript, albeit with Perl's power. Where did I go wrong??

    ------
    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      One of the problems in your code is that this JavaScript

      window.document.formname.fieldname.value = 5;
      needs to be translated to this PerlScript:
      $window->{document}->{formname}->{fieldname}->{value} = 5;
      Notice the curlies! The second problem is that JavaScript looks for objects in more places. Eg. It's OK to write the code above like this:
      document.formname.fieldname.value = 5;
      since JavaScript searches through the properties of the active window object if it doesn't find a variable of that name. OTOH
      $document->{frm2}->{code}->{value} = 5;
      is not valid.

      Likewise if I add <div id="foo" name="this is foo">Ahoj</div> into the page and run alert(foo) in JavaScript I get [object]. If I try to run alert($foo); in PerlScript I get nothing. I bet there is a way to get that object, but I don't know how.

      Jenda
      Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
         -- Rick Osborne

      Edit by castaway: Closed small tag in signature

        Ahhhh ... I thought that Win32::OLE would actually AUTOLOAD methods that map to property names. Silly wabbit! Thanks!

        ------
        We are the carpenters and bricklayers of the Information Age.

        Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://346367]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-25 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found