Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Javascript and UserForms inside other pages


Go to End


2 Posts   2057 Views

Avatar
JoshuaLewis

Community Member, 81 Posts

13 October 2010 at 8:35pm

Edited: 13/10/2010 8:37pm

Using a method similar to this http://www.silverstripe.org/all-other-modules/show/267822?showPost=293032 I'm displaying my UserForm inside of a separate page.

It shows up and processes fine but the normal javascript requirements of jQuery and jQuery-validate aren't showing up and are instead being replaced with prototype.js, behaviour.js, and others.

Now I assume that the way I'm calling up the form bypasses UserDefinedForm->init(); and prevents it from applying the normal requirements. Including them manually is easy enough but what I haven't been able to figure out is where the other requirements are coming from.

Does anyone have any ideas on why this problem is happening and how it can be fixed?

The bits of code working with the form can be found here : http://pastie.org/1217591
Edit : The page I'm working with is here http://cv.lewiswebdesign.com/

Avatar
CHD

Community Member, 219 Posts

26 March 2011 at 3:30am

Edited: 26/03/2011 3:35am

you can block the usual prototype validators by adding this to your page.php in mysite/code/

public function init() {
parent::init();

// block prototype validation
Validator::set_javascript_validation_handler('none');

// load the jquery
Requirements::javascript(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js');
Requirements::javascript('userforms/thirdparty/jquery-validate/jquery.validate.min.js');
}

that will make the userforms work normally in other pages when included.