6

Freeform version: 4.07 ExpressionEngine v2.5.3 - Build Date: 20120911

I have a freeform form inside a jQuery tab. When the form is submitted with erros, the anchor for that tab is stripped from the URL. This takes me back to the first tab and not the tab with the form in. Is there a way to redirect the user back to the form tab?

Thanks

<li id="qaTab">
  {exp:freeform:form
  form_id="2"
  required="name|email|user_message"
  return="contact_us/thank_you"
  recipients="yes"
  recipient1="Happy Harry|h_harry@somemail.com"
  recipient2="Lazy Larry|lazyl63@somemail.com"
  recipient_template="contact_form"
  notify_user="yes"
  user_email_field="user_email"
  inline_errors="yes"
  }
   {if freeform:general_errors}
    <h2>There were some error(s) with your submission:</h2>
   <ul>
   {freeform:general_errors}
    <li>{freeform:error_message}</li>
   {/freeform:general_errors}
   </ul>
   {/if}
   <div class="row">
    <div class="six columns">
     <label>{freeform:label:name}</label>
     {freeform:field:name}
     {if freeform:error:name}<small class="error">{freeform:error:name}</small>{/if}
    </div>
    <div class="six columns">
     <label>{freeform:label:email}</label>
     {freeform:field:email}
     {if freeform:error:email}<small class="error">{freeform:error:email}</small>{/if}
    </div>
   </div>
   {freeform:label:user_message}
   {freeform:field:user_message}
   {if freeform:error:user_message}
   <small class="error">{freeform:error:user_message}</small>{/if}
   <input type="hidden" name="subject" value="{title}" id="subject">
   <input type="submit" name="submit" value="Submit" id="submit" class="button">
  {/exp:freeform:form}
 </li> 
4

1 回答 1

5

您应该使用 jQuery 通过以下方式解决此问题:

  1. 检查是否存在类错误
  2. 如果存在:打开带有表单的选项卡
  3. 其他:什么都不做

这将是这样的:

if ($(".error").length > 0) {  
    $("#tabs").tabs("select", "#qaTab");
}

祝你好运!

于 2012-10-22T18:39:45.527 回答