Joomla电子邮件注册

问题描述:

我有一个Joomla网站,它有一个处理用户注册的扩展。这个扩展有名称&电子邮件两个领域,使用户在他们的姓名和电子邮件地址的表格填写两次:Joomla电子邮件注册

Screenshot of the registration

我试图改变的形式使用数据从第一部分(名称和电子邮件),并将其用于“电子邮件通知”部分。遗憾的是它没有工作..

这里是第一部分中的代码(名称&邮件):

<div class="control-group"> 
      <label class="control-label" for="account_name"> <?php echo JText::_('ACCOUNT_NAME'); ?></label> 
      <div class="controls"> 
      <input class="inputbox" type="text" name="account_name" id="account_name" size="80" maxlength="250" value="<?php echo $this->account->account_name;?>" <?php if(!$this->account->id) echo "autofocus='autofocus'"; ?> /> 
      </div> 
     </div> 
     <div class="control-group newJoomlaAccountField hidden" id="acc_email_group"> 
      <label class="control-label" for="account_email"> <?php echo JText::_('ACCOUNT_EMAIL'); ?></label> 
      <div class="controls"> 
       <input class="inputbox" type="text" name="account_email" id="account_email" size="80" maxlength="250"/> 
       <span class="help-inline hidden" id="account_email_error"><?php echo JText::_('REQUIRED'); ?></span> 
      </div> 
     </div> 

,这里是第二个“E-mail通知”的代码:

<div class="control-group"> 
     <label class="control-label" for="name"> <?php echo JText::_('YOUR_NAME'); ?></label> 
     <div class="controls"> 
      <input class="inputbox" type="text" name="name" id="name" size="80" maxlength="250" value="<?php echo $this->account->name;?>" /> 
     </div> 
     </div> 
     <div class="control-group"> 
     <label class="control-label" for="email"> <?php echo JText::_('EMAIL'); ?></label> 
     <div class="controls"> 
      <input class="inputbox" type="text" name="email" id="email" size="80" maxlength="250" value="<?php echo $this->account->email;?>" /> 
     </div> 
     </div> 

不幸的是,如果用户没有填写第二部分,他们将不会收到任何电子邮件通知,因为该扩展在管理员中显示空白电子邮件和名称。任何想法有这些字段只有一次,但在两个不同的地方使用数据? :)

+0

什么类型的你正在使用延期注册的? –

我喜欢,因为它是真正灵活,可轻松定制针对不同使用情况的一种验证方法是jQuery validate

您包括jQuery插件或者站点范围或只是形式的网页上,并添加验证规则

下面是一个示例,用于检查是否在表单上输入了名称和有效的电子邮件地址。 View this live

这是验证插件的一个相对简单的应用,这里有一些方法更复杂的例子,有更复杂的验证并通过JavaScript传送规则:
https://jqueryvalidation.org/files/demo/

希望这有助于!

HTML

<!-- load jquery validate from CDN --> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script> 


<form action="" name="registration"> 

    <label for="firstname">First Name</label> 
    <input type="text" name="firstname" id="firstname" placeholder="John"><br> 


    <label for="email">Email</label> 
    <input type="email" name="email" id="email" placeholder="[email protected]"><br> 


    <button type="submit">Register</button> 
</form> 


<!-- validate form when it's submitted --> 

<script type="text/javascript"> 
     (function($) { 
    $(document).ready(function() { 

     $("form[name='registration']").validate({ 
     // Specify validation rules 
     rules: { 

      firstname: "required", 

      email: { 
      required: true, 
      email: true 
      } 

     }, 
     // Specify validation error messages 
     messages: { 
      firstname: "Please enter your firstname", 
      email: "Please enter a valid email address" 
     }, 

     submitHandler: function(form) { 
      form.submit(); 
     } 
     }); 
    }); 
    })(jQuery); 
</script>