2012-01-15 14 views
0

私は、CSSの表示なしでリストアイテムにラップされたフォームを持っています。 フォームを表示するには、ユーザーがボタンをクリックし、jqueryがslideToggleを呼び出すようにします。 GOOD 残念ながら、ユーザーがフォームの送信ボタンをクリックすると、リスト項目が逆になり、noneが表示されます。悪い。ユーザーがフォーム送信エラーを確認できないためです。 私は、フォームを閉じることから送信ボタンを停止しようとしています。フォームはGravityforms、WordPressのプラグインを使用して作成されるので、フォーム送信コードを変更することはできません。 (私が思ういけない?)クローズリストからのフォーム提出を防止する

これは、HTML

<ul class="contact"> 
    <li>class="gravity-form"> 
    <div> 
     <form> 
     <div></div> 
     <div></div> 
     <div></div> 
     <div class="gform_footer left_label"> 
     <input type="submit" id="gform_submit_button_1" class="button gform_button" 
     value="Submit" tabindex="5"> 
     </div>   
     </form> 
    </div> 
    </li> 
</ul> 

任意のアイデアです。私はjqueryのセレクタをDOMの上に移動してリストアイテムを表示するように考えています:リストアイテムですか?事前

+0

[スライドを閉じた状態からフォームの送信ボタンを禁止する](http://stackoverflow.com/questions/8869745/prevent-form-submit-button-from-closing-slide-toggled-list-element) ) –

答えて

0

おかげで、イベントの伝播にthis articleをチェックしてください。 event.stopPropagation()を使用すると、デフォルトの動作を妨げることなく、イベントがDOMのバブリングを停止します。

<input type="submit" id="gform_submit_button_1" class="button gform_button" 
    value="Submit" tabindex="5" onclick="stopEvent(event);"> 

そして、あなたのjavascript内側:

function stopEvent(event) 
{ 
    event.stopPropagation(); 
} 

今、あなたのボタンがクリックされますと、あなたの親要素は、クリックイベントを受信しません。

+0

こんにちは私はave今onclick = "stopEvent(イベント);を追加jQuery関数を作成しました。jQuery.fn.stopEvent = function(event){ event.stopPropagation();フォームはまだ閉じていますか?ありがとうございます。 }; – James

+0

jquery関数は必要ありません。関数は上記のようにdocument.ready()呼び出しの外側に記述する必要があります。また、jQuery関数を呼び出す場合は、$ .stopEvent(event)にする必要があります。 – Indigenuity

関連する問題