2012-07-28 1 views
0

며칠 전, 제가 만들고있는 앱에 대한 가입 양식이 정상적으로 작동하고있었습니다. 양식 필드가 채워지지 않아도 '내 계정 만들기'버튼이 작동하고 오류 메시지가 즉시 표시됩니다. 이제 양식을 제출하려고 할 때 모든 필드가 채워지면 양식에서 오류 메시지 만 제출하거나 표시합니다. 모든 필드를 채우지 않고 양식을 제출하려고하면 아무 일도 일어나지 않습니다. 가입 버튼이 올바르게 작동하지 않습니다.모든 양식 필드가 채워질 때까지 내 가입 양식이 작동하지 않는 이유는 무엇입니까?

제가 생각할 수있는 중요한 변화는 응용 프로그램 구매자가 미리 지불하는 계획 대신 무료 평가판 계획으로 전환하는 것입니다. 이 문제의 원인이 무엇인지 모르기 때문에 어떤 코드를 게시해야할지 모르겠습니다. 당신이 제공 할 수있는 도움을 주시면 감사하겠습니다.

내가 레일에 가지고있는 등록 양식은 다음과 같습니다 (마이너스 나는 스트라이프을 위해 사용하고 일부 자바 스크립트) :

<div class="row"> 
<div class="span6 offset4"> 
    <%= form_for(@user) do |f| %> 

     <%= render 'shared/error_messages' %> 

     <%= f.label :name %> 
     <%= f.text_field :name %> 

     <%= f.label :email %> 
     <%= f.text_field :email %> 

     <%= f.label :password %> 
     <%= f.password_field :password %> 

     <%= f.label :password_confirmation, "Password confirmation" %> 
     <%= f.password_field :password_confirmation %> 

     <%= f.label :morning_meds, "Do you take medications in the morning?" %> 
     <%= f.select :morning_meds, [['Yes'], ['No']] %> 

     <%= f.label :lunch_meds, "Do you take medications at lunch?" %> 
     <%= f.select :lunch_meds, [['Yes'], ['No']] %> 

     <%= f.label :night_meds, "Do you take medications in the evening?" %> 
     <%= f.select :night_meds, [['Yes'], ['No']] %> 

     <%= f.label :time_zone, "Choose your time zone" %> 
     <%= f.select :time_zone, [['Eastern'], ['Central'], ['Mountain'], ['Pacific']] %> 

     <%= f.label :phone_number, "Your cell phone number" %> 
     <%= f.text_field :phone_number %> 

     <div class="form-row"> 
        <label>Card Number</label> 
        <input type="text" size="20" autocomplete="off" class="card-number" /> 
       </div> 
       <div class="form-row"> 
        <label>CVC</label> 
        <input type="text" size="4" autocomplete="off" class="card-cvc" /> 
       </div> 
       <div class="form-row"> 
        <label>Expiration Date</label> 
        <%= select_month nil, {add_month_numbers: true}, {name: nil, class: 'card-expiry-month' } %> 
        <span>/</span> 
        <%= select_year nil, {start_year: Date.today.year, end_year: Date.today.year+15}, {name: nil, class: 'card-expiry-year' } %> 
       </div> 

    <%= f.submit "Create my account", class: "btn btn-large btn-primary" %> 
    <% end %> 
</div> 
</div> 





    <div class="row"> 
    <div class="span6 offset4"> 
     <form accept-charset="UTF-8" action="/users" class="new_user" id="new_user" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="QqrFVykfeY1+9jImvp8VjTzrQxq8VlBF+vC6V85klw0=" /></div> 



      <label for="user_name">Name</label> 
      <input id="user_name" name="user[name]" size="30" type="text" /> 

      <label for="user_email">Email</label> 
      <input id="user_email" name="user[email]" size="30" type="text" /> 

      <label for="user_password">Password</label> 
      <input id="user_password" name="user[password]" size="30" type="password" /> 

      <label for="user_password_confirmation">Password confirmation</label> 
      <input id="user_password_confirmation" name="user[password_confirmation]" size="30" type="password" /> 

      <label for="user_morning_meds">Do you take medications in the morning?</label> 
      <select id="user_morning_meds" name="user[morning_meds]"><option value="Yes">Yes</option> 
    <option value="No">No</option></select> 

      <label for="user_lunch_meds">Do you take medications at lunch?</label> 
      <select id="user_lunch_meds" name="user[lunch_meds]"><option value="Yes">Yes</option> 
<option value="No">No</option></select> 

      <label for="user_night_meds">Do you take medications in the evening?</label> 
      <select id="user_night_meds" name="user[night_meds]"><option value="Yes">Yes</option> 
<option value="No">No</option></select> 

      <label for="user_time_zone">Choose your time zone</label> 
      <select id="user_time_zone" name="user[time_zone]"><option value="Eastern">Eastern</option> 
<option value="Central">Central</option> 
<option value="Mountain">Mountain</option> 
<option value="Pacific">Pacific</option></select> 

      <label for="user_phone_number">Your cell phone number</label> 
      <input id="user_phone_number" name="user[phone_number]" size="30" type="text" /> 

      <div class="form-row"> 
         <label>Card Number</label> 
         <input type="text" size="20" autocomplete="off" class="card-number" /> 
        </div> 
        <div class="form-row"> 
         <label>CVC</label> 
         <input type="text" size="4" autocomplete="off" class="card-cvc" /> 
        </div> 
        <div class="form-row"> 
         <label>Expiration Date</label> 
         <select class="card-expiry-month" id="date_month"> 
<option value="1">1 - January</option> 
<option value="2">2 - February</option> 
<option value="3">3 - March</option> 
<option value="4">4 - April</option> 
<option value="5">5 - May</option> 
<option value="6">6 - June</option> 
<option value="7">7 - July</option> 
<option value="8">8 - August</option> 
<option value="9">9 - September</option> 
<option value="10">10 - October</option> 
<option value="11">11 - November</option> 
<option value="12">12 - December</option> 
</select> 

         <span>/</span> 
         <select class="card-expiry-year" id="date_year"> 
<option value="2012">2012</option> 
<option value="2013">2013</option> 
<option value="2014">2014</option> 
<option value="2015">2015</option> 
<option value="2016">2016</option> 
<option value="2017">2017</option> 
<option value="2018">2018</option> 
<option value="2019">2019</option> 
<option value="2020">2020</option> 
<option value="2021">2021</option> 
<option value="2022">2022</option> 
<option value="2023">2023</option> 
<option value="2024">2024</option> 
<option value="2025">2025</option> 
<option value="2026">2026</option> 
<option value="2027">2027</option> 
</select> 

        </div> 

     <input class="btn btn-large btn-primary" name="commit" type="submit" value="Create my account" /> 
</form> 

답변

0

보기가 생성하는 HTML 소스를 참조하는 것이 도움이 될 수 있지만 것 공백으로 남겨 두는 HTML5 required 속성이있는 1 개 이상의 입력란이있을 가능성이 큽니다.

기본적으로 Chrome과 같은 최신 브라우저에서는 required 속성으로 플래그 지정된 모든 입력란에 값이있을 때까지 양식을 제출할 수 없습니다. 이를 막으려면 <form ... 태그에 novalidate 속성을 추가 할 수 있습니다.

<%= form_for(@user, { :novalidate => true }) do |f| %> 
+0

안녕하세요, 귀하의 도움에 감사드립니다! 양식 태그에 novalidate 속성을 추가했지만 여전히 작동하지 않습니다. html 출력을 게시하면 그 점을 고려해 볼까요? 정말 고마워! – user1483441

+0

그래, 나는 다음 90 분 동안 체육관을 벗어나지 만, 다시 체크 할 것이다. 바라기를 다른 사람이 그 전에 당신을 분류 해 줄 것입니다. – deefour

+0

좋아, 좋아 보인다. 나도 그렇게되기를 희망하지만, 도와 주겠다는 당신의 의지에 감사드립니다. – user1483441

관련 문제