EPrints Technical Mailing List Archive

Message: #01949


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Problem with EPrints and adding javascript to a new created field.


Hi Sebastien,


On 05/21/2013 05:06 PM, Sebastien Francois wrote:
Hi Joel,

Does your custom javascript adds some event handlers to the component
(to detect that the value has changed)?

Yes, actually what I do is to detect when the select elements (dropdown menu) I've added change their default value and if so, then execute my ajax call..



If so, I suspect those handlers will get removed/erased when pressing
[More input rows] because the component is then reloaded (via an AJAX
callback).

Seb.

And could I do in order to make it work?

Thanks in advance.

On 21/05/13 15:50, Joel Rosental R. wrote:
Hi,

I'm having some problems trying to add some javascript code (jQuery) to
a new field I've created in one of the steps in the deposit item
workflow. Basically, what I wanted to do was to create a dropdown menu
in the "Details" stage of the workflow, so that when a user is going to
fill-in the "creators" fields if one of the authors is from our
organization instead of writing it, it should be selected into the
dropdown menu.

My script detects when the default value (UNSPECIFIED) has been changed
and then do some ajax stuff querying the database and putting the right
information into the "Family Name", "Given Name" and "Email" fields
automatically.

The problem is, that if the user click on the "More input rows" button,
by some reason my jquery code gets disabled and it doesn't work anymore.
I've included this lines:

    <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>jQuery.noConflict()</script>
        <script
src="{$config{rel_path}}/javascript/imdea_eprints_author_lookup.js"></script>

to ./archives/<myrepository>/cfg/lang/en/templates/default.xml just
below the prototype "auto.js" call:

    <script type="text/javascript"
src="{$config{rel_path}}/javascript/auto.js"><!-- padder --></script>

Examining the load with Firefox's FireBug what I see is that this button
"More input rows" has an event associated call "epjs_ajax" and it calls
the script cgi/users/home.

Any ideas what could be happening?

*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/


--

Joel Rosental R.
System Administrator

Tel: +34 91 481 69 87
Web: http://www.networks.imdea.org