aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/styles/prosilver/template
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/styles/prosilver/template')
-rw-r--r--phpBB/styles/prosilver/template/forum_fn.js133
-rw-r--r--phpBB/styles/prosilver/template/posting_editor.html8
-rw-r--r--phpBB/styles/prosilver/template/ucp_register.html8
3 files changed, 145 insertions, 4 deletions
diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js
index c1b86bd064..11e4315e2a 100644
--- a/phpBB/styles/prosilver/template/forum_fn.js
+++ b/phpBB/styles/prosilver/template/forum_fn.js
@@ -268,3 +268,136 @@ function play_qt_file(obj)
obj.SetControllerVisible(true);
obj.Play();
}
+
+/**
+* Check if the nodeName of elem is name
+* @author jQuery
+*/
+function is_node_name(elem, name)
+{
+ return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
+}
+
+/**
+* Check if elem is in array, return position
+* @author jQuery
+*/
+function is_in_array(elem, array)
+{
+ for (var i = 0, length = array.length; i < length; i++)
+ // === is correct (IE)
+ if (array[i] === elem)
+ return i;
+
+ return -1;
+}
+
+/**
+* Find Element, type and class in tree
+* Not used, but may come in handy for those not using JQuery
+* @author jQuery.find, Meik Sievertsen
+*/
+function find_in_tree(node, tag, type, class_name)
+{
+ var result, element, i = 0, length = node.childNodes.length;
+
+ for (element = node.childNodes[0]; i < length; element = node.childNodes[++i])
+ {
+ if (!element || element.nodeType != 1) continue;
+
+ if ((!tag || is_node_name(element, tag)) && (!type || element.type == type) && (!class_name || is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1))
+ {
+ return element;
+ }
+
+ if (element.childNodes.length)
+ result = find_in_tree(element, tag, type, class_name);
+
+ if (result) return result;
+ }
+}
+
+/**
+* Usually used for onkeypress event, to submit a form on enter
+*/
+function submit_default_button(event, selector, class_name)
+{
+ // Add which for key events
+ if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode))
+ event.which = event.charCode || event.keyCode;
+
+ // Keycode is not return, then return. ;)
+ if (event.which != 13)
+ return true;
+
+ var current = selector['parentNode'];
+
+ // Search parent form element
+ while (current && (!current.nodeName || current.nodeType != 1 || !is_node_name(current, 'form')) && current != document)
+ current = current['parentNode'];
+
+ // Find the input submit button with the class name
+ //current = find_in_tree(current, 'input', 'submit', class_name);
+ var input_tags = current.getElementsByTagName('input');
+ current = false;
+
+ for (var i = 0, element = input_tags[0]; i < input_tags.length; element = input_tags[++i])
+ {
+ if (element.type == 'submit' && is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1)
+ current = element;
+ }
+
+ if (!current)
+ return true;
+
+ // Submit form
+ current.focus();
+ current.click();
+ return false;
+}
+
+/**
+* Apply onkeypress event for forcing default submit button on ENTER key press
+* The jQuery snippet used is based on http://greatwebguy.com/programming/dom/default-html-button-submit-on-enter-with-jquery/
+* The non-jQuery code is a mimick of the jQuery code ;)
+*/
+function apply_onkeypress_event()
+{
+ // jQuery code in case jQuery is used
+ if (jquery_present)
+ {
+ $('form input').live('keypress', function (e)
+ {
+ var default_button = $(this).parents('form').find('input[type=submit].default-submit-action');
+
+ if (!default_button || default_button.length <= 0)
+ return true;
+
+ if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
+ {
+ default_button.click();
+ return false;
+ }
+
+ return true;
+ });
+
+ return;
+ }
+
+ var input_tags = document.getElementsByTagName('input');
+
+ for (var i = 0, element = input_tags[0]; i < input_tags.length ; element = input_tags[++i])
+ {
+ if (element.type == 'hidden')
+ continue;
+
+ // onkeydown is possible too
+ element.onkeypress = function (evt) { submit_default_button((evt || window.event), this, 'default-submit-action'); };
+ }
+}
+
+/**
+* Detect JQuery existance. We currently do not deliver it, but some styles do, so why not benefit from it. ;)
+*/
+var jquery_present = typeof jQuery == 'function';
diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html
index 81adebd206..9476242d11 100644
--- a/phpBB/styles/prosilver/template/posting_editor.html
+++ b/phpBB/styles/prosilver/template/posting_editor.html
@@ -1,3 +1,9 @@
+<script type="text/javascript">
+// <![CDATA[
+ onload_functions.push('apply_onkeypress_event()');
+// ]]>
+</script>
+
<fieldset class="fields1">
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
@@ -184,7 +190,7 @@
<!-- IF S_HAS_DRAFTS --><input type="submit" accesskey="d" tabindex="8" name="load" value="{L_LOAD}" class="button2" onclick="load_draft = true;" />&nbsp; <!-- ENDIF -->
<!-- IF S_SAVE_ALLOWED --><input type="submit" accesskey="k" tabindex="7" name="save" value="{L_SAVE}" class="button2" />&nbsp; <!-- ENDIF -->
<input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> />&nbsp;
- <input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
+ <input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1 default-submit-action" />&nbsp;
</fieldset>
diff --git a/phpBB/styles/prosilver/template/ucp_register.html b/phpBB/styles/prosilver/template/ucp_register.html
index 4ff1de1c03..be26c17ec1 100644
--- a/phpBB/styles/prosilver/template/ucp_register.html
+++ b/phpBB/styles/prosilver/template/ucp_register.html
@@ -11,6 +11,10 @@
document.forms['register'].submit.click();
}
+ <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_REFRESH -->
+ onload_functions.push('apply_onkeypress_event()');
+ <!-- ENDIF -->
+
// ]]>
</script>
@@ -92,15 +96,13 @@
</div>
<!-- ENDIF -->
-
-
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}
<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
- <input type="submit" name="submit" id="submit" value="{L_SUBMIT}" class="button1" />
+ <input type="submit" name="submit" id="submit" value="{L_SUBMIT}" class="button1 default-submit-action" />
{S_FORM_TOKEN}
</fieldset>