2012-01-25 7 views
-1

複数のフォームとボタンが1つのgrailsページにあります - jqueryを使用して有効ボタンを使用してページ上に異なるフォームを表示して非表示にします。grailsのフォーム要素を有効/無効にすることができませんページ

IDセレクタを使ってみましたが、グレイスページにあるすべてのフォームを有効にしました。私はもう少し説明しましょう。

私はforループで実行されるテンプレートを持っています。このテンプレートは、すべてのフォームで同じidを持つフォームを持っていますが、私がformidをユニークにする方法はボタンクリックで一意になります。私が望むのは、ユーザーが新しいコメントを入力するたびに、そのタグが「ALLCOMMENTS」divタグに追加されるということです。このコード全体は、1ページで4〜5回です。私はソースコードを含めないことを謝罪します。このコードは誰かがgrails appを使って作業している場合にgrailsに固有のものです。

<div id="allcomments"></div> 
<div id="newComment"> 
<input type="button" id="enableComment" value ="Comment" class="enableComments"/> 
<g:form action="addCommentToIsssues"> 
<g:hiddenField name="issueId" value="${myIssue.id}" /> 
<g:textArea id='postContent' name="comment"/><br/> 
<g:submitToRemote class="myCommentButton" id="testingid" name="testingpost" value="Post" on404="alert('not found!')" 
        url="[controller:'myIssue', action:'addCommentByAjax']" 
        update="[success: 'ALLCOMMENTS',failure: 'errorFP']" 
        onSuccess="clearComment(e)" 
        onComplete="updateDiv(e)" 
        /> 
</g:form> 
<br/> 
</div> 
+3

特に、jQueryで選択を行うには、使用しているコードをいくつか含めることができますか? –

+1

コードを共有できますか? –

+2

私の推測では、同じIDを持つ複数の要素があります。 IDは**ユニークでなければなりません**。 'id'が一意でないときは、結果を予測することはできません。 – gdoron

答えて

0

私の推測では、あなたが$('#myFormID').show()$('#myFormID').hide()を行い、すべてのフォームが表示/非表示されるように、あなたは、すべてのフォームに同じIDを与えてくれたということです。

代わりに各フォームに一意のIDを付け、表示/非表示にするフォームのIDをJQueryセレクタに渡します(例: $('#form1, #form2').show()

関連する問題