diff --git a/interface/web/mail/templates/mail_alias_edit.htm b/interface/web/mail/templates/mail_alias_edit.htm index 4a352f605d2541b7fb9e0376284c974e0d37e71d..804484c8f16a471548db06dcdb9334648d9cd2f8 100644 --- a/interface/web/mail/templates/mail_alias_edit.htm +++ b/interface/web/mail/templates/mail_alias_edit.htm @@ -2,7 +2,7 @@ <label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label> <div class="col-sm-9"> <div class='input-group'> - <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " /> + <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" /> <span class='input-group-addon'>@</span> <div class='input-group-field'> <select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select> diff --git a/interface/web/mail/templates/mail_forward_edit.htm b/interface/web/mail/templates/mail_forward_edit.htm index 070b1b34388b5089d74780a7b0d9b1380526bad0..10fe5c35c49cfdbcca663a53cca574e3629fd3c5 100644 --- a/interface/web/mail/templates/mail_forward_edit.htm +++ b/interface/web/mail/templates/mail_forward_edit.htm @@ -2,7 +2,7 @@ <label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label> <div class="col-sm-9"> <div class='input-group'> - <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " /> + <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" /> <span class='input-group-addon'>@</span> <div class='input-group-field'> <select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select> diff --git a/interface/web/mail/templates/mail_user_mailbox_edit.htm b/interface/web/mail/templates/mail_user_mailbox_edit.htm index 5dd5e50a90424e0e3b96b1305c905f497739bfe0..a87e617ca940eae66ecca6a3abffb1871b21ac5e 100644 --- a/interface/web/mail/templates/mail_user_mailbox_edit.htm +++ b/interface/web/mail/templates/mail_user_mailbox_edit.htm @@ -6,7 +6,7 @@ <label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label> <div class="col-sm-9"> <div class='input-group'> - <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " /> + <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" /> <span class='input-group-addon'>@</span> <div class='input-group-field'> <select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select> diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index 8df11a0c0cf071da33d4321c273fd6dacf1837d1..6a8964b00e7c0cf8f462b6bd487d409015986f40 100644 --- a/interface/web/themes/default/assets/javascripts/ispconfig.js +++ b/interface/web/themes/default/assets/javascripts/ispconfig.js @@ -840,4 +840,42 @@ $(document).ready(function() { //console.log("Mouseleave e-tooltip"); }); + /*$(document).on("paste", '#email_local_part', function() { + //$(document).ready(function() { + //$('#email_local_part').on('paste', function() { + var e = this; + setTimeout(function() { + if (/@/.test(e.value)) { + var parts = e.value.split('@'); + $('#email_domain').val(parts.pop()); + $('#email_domain').trigger('change'); + e.value = parts.pop(); + } + }, 4); + }); +*/ + + }); + + +function processEmailAddressInput(e) { + setTimeout(function () { + if (/@/.test(e.value)) { + var parts = e.value.split('@'); + $('#email_domain').val(parts.pop()); + $('#email_domain').trigger('change'); + e.value = parts.pop(); + } + }, 4); +}; + +function updateEmailDomain(e) { + if (/@/.test(e.value)) { + var parts = e.value.split('@'); + $('#email_domain').val(parts.pop()); + $('#email_domain').trigger('change'); + e.value = parts.pop(); + } +}; +