2017-04-12 250 views
0

我有一個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

什麼類型的你正在使用延期註冊的? –

回答

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>