2017-04-12 13 views
0

私はユーザー登録を処理する拡張子を持つJoomlaのWebサイトを持っています。ユーザーがフォームで二回自分の名前とメールアドレスを記入しなければならないので、この拡張は、名前& Eメール用の2つのフィールドがあります。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> 

、ここで第二の「電子メール通知」のコードです:

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

残念ながら、ユーザーが2番目のセクションに記入していないと、管理者に空白の電子メールと名前が表示されるため、電子メールによる通知は全く受けられません。これらのフィールドは1回だけ使用しますが、2つの別々の場所でデータを使用しますか?あなたはjQueryのサイト全体または単にフォームページ上のいずれかのプラグインと検証を追加含まれ、私はそれが本当に柔軟だから好きで、簡単に別のユースケースのためにカスタマイズすることができます:)

+0

? –

答えて

0

一つの検証方法はjQuery validate

ですルール

フォームに名前と有効なメールアドレスが入力されていることを確認するためのサンプルです。 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> 
関連する問題