繁体   English   中英

Joomla电子邮件注册

[英]Joomla email registration

我有一个Joomla网站,其扩展程序可以处理用户注册。 此扩展名有两个用于“名称和电子邮件”的字段,因此用户必须在表单中两次填写其名称和电子邮件地址:

注册屏幕截图

我试图更改表单以使用第一部分(姓名和电子邮件)中的数据,并在“电子邮件通知”部分中也使用它。 不幸的是它没有用..

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

<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>

这是第二个“电子邮件通知”的代码:

<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>

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

我喜欢一种验证方法,因为它非常灵活并且可以针对不同的用例轻松自定义,它是jQuery validate

您在站点范围内或仅在表单页面上包括jQuery插件,并添加验证规则

这是检查表单上是否已输入名称和有效电子邮件地址的示例。 现场观看

这是验证插件的一个相对简单的应用程序,这里有一些更复杂的示例,具有更复杂的验证和通过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="john@doe.com"><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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM