IE форма POST отсутствует - PullRequest
1 голос
/ 13 марта 2011

У меня есть составная форма Rails, которая включает в себя приложение «Скрепка».Когда я размещаю его в Firefox, Chrome или Safari, проблем не возникает.Когда я публикую его в IE, мои последние два параметра полностью отсутствуют в запросе (не пусто).Это простые поля ввода текста с очень маленькими значениями.Проблема возникает независимо от того, есть ли вложение.У меня есть похожая форма для другой модели, которая не является многочастной и имеет меньше входных данных.Он отлично работает в IE.В производственном журнале никогда не бывает исключений, но есть ошибки, потому что я проверяю наличие этих отсутствующих атрибутов.

Есть ли у кого-нибудь какие-либо предложения о том, что может вызвать эту проблему, или известен способ отладки этого вIE?

РЕДАКТИРОВАТЬ - код по запросу:

модель

class Bar < ActiveRecord::Base
  belongs_to :foo
  validates_presence_of :name
  validates_uniqueness_of :name, :scope => [:foo_id]
  validates_numericality_of :first_missing_attribute, :second_missing_attribute, :message => 'must be a number'
  has_attached_file :image, :styles => { :original => ["300x300>"], :thumb => ["100x100>"] }
end

html-рендеринг

<form accept-charset="UTF-8" action="/myapp/foos/1/bars" class="new_bar" enctype="multipart/form-data" id="new_bar" method="post">
  <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" />
    <input name="authenticity_token" type="hidden" value="01h99m2ZuOAApUNvFCmBSOydMd1IvE0yujLCzSP0lDk=" />
  </div>
  <div class="step">
    <div class="step-count">
      <img alt="One" src="/images/one.png?1299957833" />
    </div>
    <div class="step-field">
      <p>NAME</p>
      <input id="bar_name" name="bar[name]" size="35" type="text" />
    </div>
  </div>
  <div class="step">
    <div class="step-count">
      <img alt="Two" src="/images/two.png?1299957833" />
    </div>
    <div class="step-field">              
      <p>CONTENT</p>
      <select id="bar_formatted" name="bar[formatted]"><option value="false">Keep it simple</option><option value="true">Let me add html & css</option></select><br />
      <textarea cols="40" id="bar_content" name="bar[content]" rows="20" style="text-align:left;"></textarea>
      <div class="file-input">
        <p>ADD AN IMAGE</p>
        <input id="bar_image" name="bar[image]" type="file" />
      </div>
    </div>
  </div>          
  <div class="step">
    <div class="step-count">
      <img alt="Three" src="/images/three.png?1299957833" />
    </div>
    <div class="step-field">
      <input id="search" type="text" onkeypress="return preventEnter(this, event)"/><input id="find-location" type="button" value="Fly To" onClick="buttonClick()"><br />
      <form name="bazs" id="bazs" method="get">
          <select onChange="flyTo(this.value);" style="max-width:200px; font-size: 12px; color:#003300" name="locator">
            <option value="Baz1">Baz1</option>
            <option value="Baz2">Baz2</option>
            <option value="Baz3">Baz3</option>
          </select>
      </form>
    </div>
  </div>
  <div class="step">
    <div class="step-count">
      <img alt="Four" src="/images/four.png?1299957833" />
    </div>
    <div class="step-field">
      <input id="set-bar" type="button" value="Generate" onClick="setBar()">
    </div>
  </div>
  <div class="step">
    <div class="step-count">
      <img alt="Five" src="/images/five.png?1299957833" />
    </div>
    <div class="step-field">
      <div id="loading">
        <img alt="loading" src="/images/loading.gif?1299957833" />
      </div>
      <div id="inputs">
        <div class="input">
          <p>FIRST MISSING ATTRIBUTE</p><input id="bar_first_missing_attribute" name="bar[first_missing_attribute]" onBlur="checkValue(this)" onFocus="removeImage(this)" size="30" type="text" />
        </div>
        <div class="input">
          <p>SECOND MISSING ATTRIBUTE</p><input id="bar_second_missing_attribute" name="bar[second_missing_attribute]" onBlur="checkValue(this)" onFocus="removeImage(this)" size="30" type="text" />
        </div>
        <div class="save">
          <img alt="Clear" onClick="submitForm()" src="/images/clear.png?1299957833" />
        </div>
      </div>
    </div>            
  </div>
</form>

1 Ответ

0 голосов
/ 23 марта 2011

Не вкладывайте форму внутрь формы.

Благодаря http://webdevrefinery.com/forums/user/6599-theempty/.

...