2012-10-15 43 views
0

我有一個形式,這個單選按鈕組:單選按鈕使得表單提交按鈕沒有反應

<%= form_for(@question) do |f| %> 

    .... 

    <div class="field"> 
     <%= f.radio_button :status, "open", { :checked => true } %> 
     <%= f.label :status, "Open" %> 
     <%= f.radio_button :status, "closed" %> 
     <%= f.label :status, "Closed" %> 
    </div><br /> 

    .... 

<% end %> 

沒有Javascript代碼錯誤,但形式提交按鈕只能如果任我刪除一個從組中選擇單選按鈕或在瀏覽器上禁用Javascript或刪除項目目錄中的所有Javascript文件。以下是唯一的jQuery代碼,使得任何條件更改單選按鈕:

.... 

$('#hide_question_form').click(function(e) { 
    $('.new_question_form').slideUp(500); 
    $('#question_title').val(null); 
    $('#question_description').val(null); 
    $('input:radio[name="question[status]"]')[0].checked = true; 
    $('input:radio[name="question[status]"]')[1].checked = false; 
}); 

.... 

我想評論/刪除所有的JavaScript文件一個一個看問題出在哪裏,但除非我刪除了所有的人,該按鈕不起作用。任何具體的建議?謝謝!

編輯

生成的HTML,根據要求:

<div class="field"> 
     <input checked="checked" id="question_status_open" name="question[status]" required="required" type="radio" value="open" /> 
     <label for="question_status">Open</label> 
     <input id="question_status_closed" name="question[status]" required="required" type="radio" value="closed" /> 
     <label for="question_status">Closed</label> 
</div><br /> 
+0

也許你刪除最後一個是問題。另外,您還需要移除哪一個以使其再次工作? –

+1

是否可以看到生成的html? (我從來沒有使用ror,永遠不會嘗試) – GottZ

+0

@Asad其中任何一個,都不重要哪一個。 – Humming

回答

0

我錯了還是你theese的div的多?

如果是這樣的話,問題可能是您的html文件中有多個相同的id。

html id必須是唯一的才能運行javascript。作爲例子,document.getElementById只返回一個元素而不是多個元素。

ID用我指的是:question_status_open和question_status_closed

+0

是的,那麼它們不是唯一的ID嗎?此外,我確實有多個這樣的div,他們以前工作得很好。 (事實上​​,Rails腳手架也是這樣產生的。)我不知道什麼時候停止工作,正如我所說的,我試圖挑選出特定的代碼,但它不起作用。我必須刪除所有JS代碼才能使用按鈕。 – Humming

+0

是其他div中的id是否一樣?這看起來像您在頁面上的多個位置使用的模板。 – GottZ

+0

不,這些單選按鈕(以及它們的唯一ID)僅在此div中。 – Humming