21491 Posts in 5783 Topics by 2621 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1367 Views |
-
javascript validation error in CMS

8 February 2009 at 8:26am Last edited: 8 February 2009 8:51am
I get this javascript error every so often in Firefox 3.0.6 when updating a page (new pagetype) in the CMS (2.3rc3):
$("Form_EditForm").validateEmailField is not a function
(I have an emailfield in the CMS for this page - should I not use it here?). After that the CMS hangs on saving the page and it won't save any other pages until I restart the browser. It started to occur after I added a TableField to the CMSFields of the Page. It seems to happen mostly after I update the Page Model. Could all be a coincidence though. Is this a known bug?
.
[edit] Found that it happens in IE as well...
.
Also I always get this on initial startup (showing the admin login):jQuery is not defined http://<mysite>/Security/Login
-
Re: javascript validation error in CMS

3 March 2009 at 5:49pm
I get the same problem. If I switch the EmailField in the Admin panel for the page type in question, to a TextField and reload the page with ?flush=1, the form works. But that should be the way it's supposed to work. I found the source of the code, but I don't know how to work with the JS library being used. The
function is being written with the Behaviour JS library and probably using Prototype and I'm a jQuery person. The problem is in thevalidateEmailField
file.sapphire/forms/EmailField.php
-
Re: javascript validation error in CMS

29 April 2009 at 6:17am
I had the same problem. After investigating a bit I figured out that I have it only when we have more than one form on a page (with email fields present in more than one as well). It seems to me that there is a bug in Silverstripe (I use 2.3.1):
line 30 in EmailField.php stores generated javascript in a hash in order to be dumped on the page later; unfortunately it is being stored under constant key (func_validateEmailField), therefore the last form processed overwrites the previous one, and the required javascript function is never created. I got around by adding a unique string to the key (form name), like this:Requirements::customScript($jsFunc, 'func_validateEmailField' .'_' . $formID);
I'll try to submit a bug.
| 1367 Views | ||
|
Page:
1
|
Go to Top |

