2016-12-19 8 views
0

私はフォームが本当にひどいので、あなたが提供できるヘルプは素晴らしいでしょう。 このフォームには、提出時に最初に提示されたモーダルがありましたが、リダイレクトに変更する必要がありました。これで、データが入力されずにリダイレクトされます。フォームは情報なしで送信してリダイレクトしています

<form id="contact-form" method="post" onsubmit="return redirect()"> 
       <div class="contact-form-loader"></div> 
       <fieldset> 
       <div class="contact-form_top-section"> 
        <label class="name"> 
         <input type="text" name="name" placeholder="Parent's Name:" value="" data-constraints="@Required @JustLetters"> 
         <span class="empty-message">*This field is required.</span> 
         <span class="error-message">*This is not a valid name.</span> 
        </label> 
        <label class="email"> 
         <input type="text" name="email" placeholder="Parent's E-mail:" value="" data-constraints="@Required @Email"> 
         <span class="empty-message">*This field is required.</span> 
         <span class="error-message">*This is not a valid email.</span> 
        </label> 
        <label class="phone"> 
         <input type="text" name="phone" placeholder="Parent's Cellphone:" value="" data-constraints="@JustNumbers"> 
         <span class="empty-message">*This field is required.</span> 
         <span class="error-message">*This is not a valid phone.</span> 
        </label> 
        <label class="message"> 
         <input type="text" name="message" placeholder="Tell us about your children:" value="" data-constraints="@Required"> 
         <span class="empty-message">*This field is required.</span> 
         <span class="error-message">*The message is too short.</span> 
        </label> 
       </div> 
       <div class="contact-form_bottom-section"> 
        <a href="#" class="btn btn__hover" data-type="reset">Clear</a> 
        <input type="submit" class="btn btn__hover bg-color-6" value="Send"> 
       </div> 
       </fieldset> 

.jsページには大量のデータがあり、必要な部分が正確ではありません。ここに最初の部分があります。

;(function($){ 
    $.fn.TMForm=function(opt){ 
     return this.each(TMForm) 

     function TMForm(){ 
      var form=$(this) 
      opt=$.extend({ 
        okClass:'ok' 
        ,emptyClass:'empty' 
        ,invalidClass:'invalid' 
        ,successClass:'success' 
        ,responseErrorClass:'response-error'  
        ,responseMessageClass:'response-message' 
        ,processingClass:'processing' 
        ,onceVerifiedClass:'once-verified' 
        ,mailHandlerURL:'bat/MailHandler.php'     
        ,successShowDelay:'4000' 
        ,stripHTML:true 
        ,recaptchaPublicKey:'' 
        ,capchaTheme:'clean' 
       },opt) 

      init() 

      function init(){     
       form 
        .on('submit',formSubmit) 
        .on('reset',formReset) 
        .on('focus','[data-constraints]',function(){ 
         $(this).parents('label').removeClass(opt.emptyClass) 
        }) 
        .on('blur','[data-constraints]:not(.once-verified)',function(){ 
         $(this) 
          .addClass(opt.onceVerifiedClass) 
          .trigger('validate.form') 
        }) 
        .on('keyup','[data-constraints].once-verified',function(){ 
         $(this).trigger('validate.form') 
        }) 
        .on('keydown','input',function(e){ 
         var $this=$(this) 
          ,next=$this.parents('label').next('label').find('input,textarea') 
         if(e.keyCode===13) 
          if(next.length) 
           next.focus() 
          else 
           form.submit() 
        }) 
        .on('keydown','textarea',function(e){ 
         if(e.keyCode===13&&e.ctrlKey) 
          $(this).parents('label').next('label').find('input,textarea').focus() 
        }) 
        .on('change','input[type="file"]',function(){      
         $(this).parents('label').next('label').find('input,textarea').focus() 
        })     
        .attr({ 
         method:'POST' 
         ,action:opt.mailHandlerURL 
        }) 

答えて

0

あなたの最善の策は、あなたのJSファイルのどこかにあるべきformSubmit関数の最後にリダイレクト機能を置くことです。あなたがしたことを行うことによって、あなたのフォームは私がデータを扱うと考える 'formSubmit'関数に決して打たれることはありません。

関連する問題